SlideShare ist ein Scribd-Unternehmen logo
1 von 23
• Message queueing
• AMQP (Advanced Message Queueing Protocol)


• Broker implementations
• Use cases
• Message queueing
• AMQP (Advanced Message Queueing Protocol)


• Broker implementations
• Use cases
Introduction to
             Messaging
      Message Queueing
Why messaging?


 Messaging
• Get data from point A to point B
• Decouple publishers and consumers
• Queueing for later delivery
• Asynchronous
• Load balancing and scalability
Definition


 Message queues
• are software-engineering components
    used for interprocess communication
•   provide an asynchronous communications
    protocol
•   have implicit or explicit limits on the
    size of data that may be transmitted in a
    single message
The main features


 Message queueing
• There are no direct connection between programs
• Communication between programs can be time-
    independent
•   Work can be out by small, self-contained programs
•   Communication can be driven by events
•   Application can assign a priority to a message
•   Security
•   Data integrity
•   Recovery support
AMQP
   Advanced Message Queueing Protocol
Why?


 AMQP
• Broadly applicable for enterprise
• Totally open
• Platform agnostic
• Interoperable
Protocol


    AMQP
• Network wire-level protocol
    o Defines how clients and brokers talk
    o Data serialization (framing), heartbeat
    o Hidden inside client libraries
•   AMQP model


    o Defines routing and storing of messages
    o Defines rules how these are wired together
    o Exported API
About


Network wire-level protocol
•   Information is organized into "frames"
•   Independent threads of control within a single
    socket connection are called "channels"
•   For each channel, frames run in sequence
•   Each frame consists of header, payload, frame
    end packet
•   Frames can be protocol methods, structured
    content (message headers), data
Model


AMQP
Why?


Virtual hosts
•   Created for administrative purposes
•   Access control
•   Each connection (and all channels inside)
    must be associated with a single virtual host
•   Each virtual host comprises its own name
    space, a set of exchanges, message queues
    and all associated objects
Definition


Exchange
•   A message routing agent
•   Can be durable - lasts till explicitly deleted
•   Can be temporary - lasts till server shuts down
•   Can be auto-deleted - lasts till no longer used
•   There are several types of exchanges, each
    implements a particular algorythm
•   Each message is delivered to each qualifying
    queue
•   "Binding" - a link between queue and exchange
Definition


 Direct exchange type
• Uses string as routing key
• Queue binds to exchange with key K
• Publisher sends message with key R
• Message is passed to this queue if K = R
• Direct exchange named "amq.direct" is
  always pre-created in each virtual host
Routing


Direct exchange
Definition


 Fanout exchange type
• No routing key
• What goes in must go out
• Can be used for load balancing
Routing


Fanout exchange
Definition


 Topic exchange type
• Uses pattern as routing key ("a.b.c.d")
• Queues can use wildcard characters
    binding
•   * matches a single word, # - zero or more
•   "amq.topic" is pre-created in each vhost
•   *.stock.# matches usd.stock and
    eur.stock.db but not stock.nasdaq
Routing


Topic exchange
Details


 Message queue
• named "weak FIFO" buffer
• FIFO is guaranteed only with 1 consumer
• Can be durable, temporary (private to 1 consumer) or
    auto-deleted
•   A message queue routed to queue is never sent to
    more than one client unless it is being resent after
    failure or rejection
•   You can get server to auto generate and assign queue
    name for your queue - this is usually done for private
    queues
About


 Messages
• Message is atomic unit of processing
• Can be persistent (delivery guarantee in
    case network failure or server crash)
•   Can have a priority level
Message content


Messages
•   Messages carry content (header + body)
•   Content body is opaque block of binary data
•   Broker never modifies content body
•   AMQP defines several "content classes", each
    with specific syntax (which headers can be used)
    and semantics (which methods are available for
    such messages)
Thank you for
    attention




      by Karlen Kishmiryan (Sourcio CJSC)

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQP
 
MQTT IOT Protocol Introduction
MQTT IOT Protocol IntroductionMQTT IOT Protocol Introduction
MQTT IOT Protocol Introduction
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
RabbitMQ.ppt
RabbitMQ.pptRabbitMQ.ppt
RabbitMQ.ppt
 
An introduction to MQTT
An introduction to MQTTAn introduction to MQTT
An introduction to MQTT
 
What is XMPP Protocol
What is XMPP ProtocolWhat is XMPP Protocol
What is XMPP Protocol
 
Rabbitmq basics
Rabbitmq basicsRabbitmq basics
Rabbitmq basics
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
Xmpp presentation
Xmpp   presentationXmpp   presentation
Xmpp presentation
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
Messaging for IoT
Messaging for IoTMessaging for IoT
Messaging for IoT
 
Kafka as Message Broker
Kafka as Message BrokerKafka as Message Broker
Kafka as Message Broker
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)
 
Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation Mqtt(Message queue telemetry protocol) presentation
Mqtt(Message queue telemetry protocol) presentation
 
MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of Things
 
MQTT and CoAP
MQTT and CoAPMQTT and CoAP
MQTT and CoAP
 
Introduction to MQTT
Introduction to MQTTIntroduction to MQTT
Introduction to MQTT
 
REST - Representational State Transfer
REST - Representational State TransferREST - Representational State Transfer
REST - Representational State Transfer
 
RabbitMq
RabbitMqRabbitMq
RabbitMq
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
 

Ähnlich wie AMQP

apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
TarekHamdi8
 
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP
Eberhard Wolff
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdf
Ortus Solutions, Corp
 

Ähnlich wie AMQP (20)

RabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client libraryRabbitMQ and AMQP with .net client library
RabbitMQ and AMQP with .net client library
 
RFID.pptx
RFID.pptxRFID.pptx
RFID.pptx
 
Spring RabbitMQ
Spring RabbitMQSpring RabbitMQ
Spring RabbitMQ
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
 
Kafka tutorial
Kafka tutorialKafka tutorial
Kafka tutorial
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
 
UNIT2_PPT.ppt
UNIT2_PPT.pptUNIT2_PPT.ppt
UNIT2_PPT.ppt
 
The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP The Future of Messaging: RabbitMQ and AMQP
The Future of Messaging: RabbitMQ and AMQP
 
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsBeyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
 
QoS, QoS Baby
QoS, QoS BabyQoS, QoS Baby
QoS, QoS Baby
 
RabbitMQ vs Apache Kafka - Part 1
RabbitMQ vs Apache Kafka - Part 1RabbitMQ vs Apache Kafka - Part 1
RabbitMQ vs Apache Kafka - Part 1
 
Application Layer Protocols for the IoT
Application Layer Protocols for the IoTApplication Layer Protocols for the IoT
Application Layer Protocols for the IoT
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdf
 
Fundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaFundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache Kafka
 
Ruby Microservices with RabbitMQ
Ruby Microservices with RabbitMQRuby Microservices with RabbitMQ
Ruby Microservices with RabbitMQ
 
An introduction to Apache Camel
An introduction to Apache CamelAn introduction to Apache Camel
An introduction to Apache Camel
 
Modern Distributed Messaging and RPC
Modern Distributed Messaging and RPCModern Distributed Messaging and RPC
Modern Distributed Messaging and RPC
 
WSO2 Message Broker - Product Overview
WSO2 Message Broker - Product OverviewWSO2 Message Broker - Product Overview
WSO2 Message Broker - Product Overview
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

AMQP

  • 1. • Message queueing • AMQP (Advanced Message Queueing Protocol) • Broker implementations • Use cases
  • 2. • Message queueing • AMQP (Advanced Message Queueing Protocol) • Broker implementations • Use cases
  • 3. Introduction to Messaging Message Queueing
  • 4. Why messaging? Messaging • Get data from point A to point B • Decouple publishers and consumers • Queueing for later delivery • Asynchronous • Load balancing and scalability
  • 5. Definition Message queues • are software-engineering components used for interprocess communication • provide an asynchronous communications protocol • have implicit or explicit limits on the size of data that may be transmitted in a single message
  • 6. The main features Message queueing • There are no direct connection between programs • Communication between programs can be time- independent • Work can be out by small, self-contained programs • Communication can be driven by events • Application can assign a priority to a message • Security • Data integrity • Recovery support
  • 7. AMQP Advanced Message Queueing Protocol
  • 8. Why? AMQP • Broadly applicable for enterprise • Totally open • Platform agnostic • Interoperable
  • 9. Protocol AMQP • Network wire-level protocol o Defines how clients and brokers talk o Data serialization (framing), heartbeat o Hidden inside client libraries • AMQP model o Defines routing and storing of messages o Defines rules how these are wired together o Exported API
  • 10. About Network wire-level protocol • Information is organized into "frames" • Independent threads of control within a single socket connection are called "channels" • For each channel, frames run in sequence • Each frame consists of header, payload, frame end packet • Frames can be protocol methods, structured content (message headers), data
  • 12. Why? Virtual hosts • Created for administrative purposes • Access control • Each connection (and all channels inside) must be associated with a single virtual host • Each virtual host comprises its own name space, a set of exchanges, message queues and all associated objects
  • 13. Definition Exchange • A message routing agent • Can be durable - lasts till explicitly deleted • Can be temporary - lasts till server shuts down • Can be auto-deleted - lasts till no longer used • There are several types of exchanges, each implements a particular algorythm • Each message is delivered to each qualifying queue • "Binding" - a link between queue and exchange
  • 14. Definition Direct exchange type • Uses string as routing key • Queue binds to exchange with key K • Publisher sends message with key R • Message is passed to this queue if K = R • Direct exchange named "amq.direct" is always pre-created in each virtual host
  • 16. Definition Fanout exchange type • No routing key • What goes in must go out • Can be used for load balancing
  • 18. Definition Topic exchange type • Uses pattern as routing key ("a.b.c.d") • Queues can use wildcard characters binding • * matches a single word, # - zero or more • "amq.topic" is pre-created in each vhost • *.stock.# matches usd.stock and eur.stock.db but not stock.nasdaq
  • 20. Details Message queue • named "weak FIFO" buffer • FIFO is guaranteed only with 1 consumer • Can be durable, temporary (private to 1 consumer) or auto-deleted • A message queue routed to queue is never sent to more than one client unless it is being resent after failure or rejection • You can get server to auto generate and assign queue name for your queue - this is usually done for private queues
  • 21. About Messages • Message is atomic unit of processing • Can be persistent (delivery guarantee in case network failure or server crash) • Can have a priority level
  • 22. Message content Messages • Messages carry content (header + body) • Content body is opaque block of binary data • Broker never modifies content body • AMQP defines several "content classes", each with specific syntax (which headers can be used) and semantics (which methods are available for such messages)
  • 23. Thank you for attention by Karlen Kishmiryan (Sourcio CJSC)