SlideShare a Scribd company logo
Advanced Message Queuing Protocol
Ritvik Shukla
Department of Computer Science Engineering
School of Engineering and Technology
Central University Of Rajasthan March 2, 2023
Overview
1. Distributed Systems
2. Message Queuing
3. Message Brokers
4. AMQP
5. Implementation
CURAJ Advanced Message Queuing Protocol 2/47
What are Distributed Systems?
Distributed systems are software systems that run on multiple computers or nodes
and work together to achieve a common goal. In a distributed system, each node
communicates with other nodes by exchanging messages over a network. The
nodes can be located in the same physical location or in different locations across
the globe.
Distributed systems are designed to provide high availability, scalability, and fault
tolerance. They are used to solve problems that cannot be easily solved by a single
computer or centralized system. Some examples of distributed systems include web
applications, cloud computing platforms, online gaming systems, and social
networking platforms.
CURAJ Advanced Message Queuing Protocol 3/47
What is Message Queuing?
A message queue is a software component that allows applications to exchange
messages or data with each other asynchronously. It acts as an intermediary
between the sender and the receiver, ensuring reliable delivery and decoupling the
sender and receiver so that they can operate independently.
Message queues are often used in distributed systems where applications may be
running on different machines or in different processes. They provide a way for
applications to communicate without needing to know the exact details of each
other’s implementation or availability. Common implementations of message queues
include RabbitMQ, Apache Kafka.
CURAJ Advanced Message Queuing Protocol 4/47
Figure
CURAJ Advanced Message Queuing Protocol 5/47
How it work?
The working of a message queue involves several components, including the sender,
the receiver, and the message queue itself.
• Sender sends a message: The sender application creates a message and sends
it to the message queue.
• Message is stored in the queue: The message is stored in the message queue
until a receiver retrieves it.
• Receiver retrieves the message: The receiver application polls or subscribes to
the message queue and retrieves the next available message.
• Message is processed: The receiver processes the message according to its
requirements.
CURAJ Advanced Message Queuing Protocol 6/47
How it work?
• Message is acknowledged: Once the receiver has processed the message, it
sends an acknowledgment to the message queue to confirm that the message
has been successfully received and processed.
• Message is removed from the queue: The message queue removes the
message from the queue and updates its internal state accordingly.
CURAJ Advanced Message Queuing Protocol 7/47
What is Message Broker?
A message broker is an intermediary software component that facilitates
communication between different applications or services by managing the
exchange of messages.
In a distributed system, applications or services may need to communicate with
each other asynchronously, but direct communication between them may not be
possible or efficient. In such cases, a message broker acts as a middleman,
receiving messages from one application or service and forwarding them to one or
more other applications or services.
Message brokers provide several functions, including message routing, message
filtering, message transformation, and message persistence.
CURAJ Advanced Message Queuing Protocol 8/47
Common Brokers Used
Examples
Some of the common examples of message brokers used are RabbitMQ, Apache
Kafka, Apache ActiveMQ etc.
CURAJ Advanced Message Queuing Protocol 9/47
What is AMQP?
AMQP (Advanced Message Queuing Protocol) is an open standard messaging
protocol that enables reliable and efficient communication between applications or
services in a distributed system.
AMQP defines a messaging format and a set of rules for message routing and
delivery, allowing applications to communicate asynchronously and reliably over a
network. It provides features such as message queuing, message acknowledgment,
and message routing to ensure that messages are delivered to their intended
destination in a timely and secure manner.
CURAJ Advanced Message Queuing Protocol 10/47
What is AMQP?
AMQP is designed to be interoperable, meaning that it can be used with different
programming languages, operating systems, and messaging systems. It is widely
used in various industries, including finance, healthcare, e-commerce, and
telecommunications, to name a few.
Note
Popular messaging systems that implement AMQP include RabbitMQ and Apache
ActiveMQ.
CURAJ Advanced Message Queuing Protocol 11/47
Working of AMQP
CURAJ Advanced Message Queuing Protocol 12/47
Working of AMQP
AMQP works on a client-server model, where the messaging system consists of one
or more message brokers (servers) and multiple client applications that interact
with the brokers to send and receive messages.
The basic workflow of AMQP is as follows:
• A client application sends a message to a message broker using a specified
queue or exchange.
• The message broker receives the message and performs routing and delivery
based on the message’s destination, using AMQP routing rules.
• If the message is sent to a queue, it is stored in the queue until a consuming
client retrieves it.
CURAJ Advanced Message Queuing Protocol 13/47
Working of AMQP
• If the message is sent to an exchange, the message broker routes it to the
correct queue or multiple queues based on a set of predefined routing rules.
• A client application consumes the message from the queue and sends an
acknowledgment to the broker indicating that the message has been received
and processed.
CURAJ Advanced Message Queuing Protocol 14/47
Important Points Related to AMQP
Note
AMQP uses channels to multiplex multiple independent conversations over a single
TCP connection, reducing the overhead of opening and closing multiple connections.
Note
AMQP supports different messaging patterns such as publish/subscribe,
point-to-point, and request/response, allowing developers to choose the best
pattern for their use case.
CURAJ Advanced Message Queuing Protocol 15/47
Messaging Patterns in AMQP
There are different messaging patterns that AMQP supports like:
• Publish/Subscribe
• Point-To-Point
• Request/Response
CURAJ Advanced Message Queuing Protocol 16/47
Publish/Subscribe Pattern
The publish-subscribe (pub/sub) messaging pattern is a communication pattern
used in distributed systems where publishers send messages to a topic or channel,
and subscribers receive those messages based on their interest in that topic. In this
pattern, the publishers and subscribers are decoupled from each other, meaning
that publishers do not need to know who the subscribers are, and vice versa.
When a publisher sends a message to a topic, the message is distributed to all
subscribers that have subscribed to that topic. Subscribers can receive messages
in a variety of ways, such as through a message queue or by using a WebSocket.
CURAJ Advanced Message Queuing Protocol 17/47
Point-To-Point Pattern
The point-to-point messaging pattern is a communication pattern used in
distributed systems where messages are sent from one sender to one specific
receiver. In this pattern, a message is sent to a specific queue, and only one
consumer can receive and process that message from that queue.
When a sender sends a message to a queue, the message is stored in the queue
until a receiver processes it. When a receiver processes a message, it is removed
from the queue and cannot be received by any other receiver. This ensures that
each message is processed only once by one receiver.
CURAJ Advanced Message Queuing Protocol 18/47
Request/Response Pattern
The request-response messaging pattern is a communication pattern used in
distributed systems where one application sends a request message to another
application and expects a response message in return. In this pattern, the sender
sends a request message and waits for a response from the receiver before
continuing with its work.
When a requester sends a request message to a receiver, it waits for a response
message before continuing with its work. The receiver processes the request
message and sends a response message back to the requester. The response
message contains the result of the request or an error message if the request could
not be processed.
CURAJ Advanced Message Queuing Protocol 19/47
Exchanges
CURAJ Advanced Message Queuing Protocol 20/47
Exchanges
Exchanges take a message and route it into zero or more queues. The routing
algorithm used depends on the exchange type and rules called bindings. AMQP
brokers provide four exchange types:
• Direct exchange
• Fanout exchange
• Topic exchange
• Headers exchange
CURAJ Advanced Message Queuing Protocol 21/47
CURAJ Advanced Message Queuing Protocol 22/47
Direct exchange
A direct exchange delivers messages to queues based on the message routing key.
A direct exchange is ideal for the unicast routing of messages (although they can be
used for multicast routing as well).
A queue binds to the exchange with a routing key K When a new message with routing
key R arrives at the direct exchange, the exchange routes it to the queue if K = R
CURAJ Advanced Message Queuing Protocol 23/47
CURAJ Advanced Message Queuing Protocol 24/47
Fanout exchange
When a message is published to a fanout exchange, the exchange sends a copy of
the message to every queue that is bound to it. This means that every message sent
to a fanout exchange is delivered to all the queues that are bound to it, regardless of
the routing key or any other message attribute.
CURAJ Advanced Message Queuing Protocol 25/47
CURAJ Advanced Message Queuing Protocol 26/47
Topic exchange
The topic exchange is a type of exchange where messages are routed to queues
based on a pattern match between the routing key and the binding key.
When a message is published to a topic exchange, the exchange compares the
routing key of the message with the routing key of each queue that it is bound to.
The routing key can contain one or more words separated by dots, and can also
contain wildcard characters:
• ”*” (star) can substitute for exactly one word.
• ”#” (hash) can substitute for zero or more words.
CURAJ Advanced Message Queuing Protocol 27/47
CURAJ Advanced Message Queuing Protocol 28/47
Headers exchange
Header exchange is a type of exchange where messages are routed to queues based
on message attributes (headers) that match the values specified in the binding.
When a message is published to a header exchange, the exchange examines the
message headers and compares them to the headers specified in each binding. The
exchange then delivers the message to all the queues that have bindings with
header values that match the message headers.
CURAJ Advanced Message Queuing Protocol 29/47
Implementation
CURAJ Advanced Message Queuing Protocol 30/47
Ecommerce Microservice
What I built?
Implementing a Microservice using RabbitMQ as a message broker.
• Auth Service
• Product Service
• Order Service
CURAJ Advanced Message Queuing Protocol 31/47
Auth Service
CURAJ Advanced Message Queuing Protocol 32/47
Create User
CURAJ Advanced Message Queuing Protocol 33/47
Login User
CURAJ Advanced Message Queuing Protocol 34/47
RabbitMQ on Docker
CURAJ Advanced Message Queuing Protocol 35/47
Admin UI
CURAJ Advanced Message Queuing Protocol 36/47
Product Service
CURAJ Advanced Message Queuing Protocol 37/47
Restricted Access
CURAJ Advanced Message Queuing Protocol 38/47
Uniqueness Check
CURAJ Advanced Message Queuing Protocol 39/47
Create a Product
CURAJ Advanced Message Queuing Protocol 40/47
Buy a Product
CURAJ Advanced Message Queuing Protocol 41/47
Message Queued
CURAJ Advanced Message Queuing Protocol 42/47
Order Service
CURAJ Advanced Message Queuing Protocol 43/47
Checkout
CURAJ Advanced Message Queuing Protocol 44/47
Consumed Message
CURAJ Advanced Message Queuing Protocol 45/47
References
RabbitMQ Docs
https://www.rabbitmq.com/documentation.html
RabbitMQ
AMQP (0-9-1) Specification
https://www.amqp.org/specification/0-9-1/amqp-org-download
AMQP
CURAJ Advanced Message Queuing Protocol 46/47
The End
CURAJ Advanced Message Queuing Protocol 47/47

More Related Content

PPTX
Routing Presentation
PPT
Data Link Layer
PDF
ns-3 Tutorial
PPTX
HDLC and Point to point protocol
PPTX
Quality of Service
PDF
Network Management Principles and Practice - 2nd Edition (2010)_2.pdf
PPTX
AODV (adhoc ondemand distance vector routing)
Routing Presentation
Data Link Layer
ns-3 Tutorial
HDLC and Point to point protocol
Quality of Service
Network Management Principles and Practice - 2nd Edition (2010)_2.pdf
AODV (adhoc ondemand distance vector routing)

What's hot (20)

PPTX
Congestion on computer network
PPTX
Chapter 11: Data Link Control
PDF
Cs8591 Computer Networks - UNIT V
PPT
Multiplexing : Wave Division Multiplexing
PDF
Mobile transportlayer
PDF
CCNAv5 - S1: Chapter 3 - Network protocols and communications
PPT
Rip ospf and bgp
PPTX
Routing algorithms
PPTX
Routing protocols
PPTX
Ccna PPT
PPT
Flow & Error Control
PDF
Tutorial ns 3-tutorial-slides
PPTX
PDF
Routage
PPTX
Iptables the Linux Firewall
PPTX
Arp and rarp
PPTX
Socket programming
PPTX
Olsr protocol ppt
PDF
ISE-802.1X-MAB
Congestion on computer network
Chapter 11: Data Link Control
Cs8591 Computer Networks - UNIT V
Multiplexing : Wave Division Multiplexing
Mobile transportlayer
CCNAv5 - S1: Chapter 3 - Network protocols and communications
Rip ospf and bgp
Routing algorithms
Routing protocols
Ccna PPT
Flow & Error Control
Tutorial ns 3-tutorial-slides
Routage
Iptables the Linux Firewall
Arp and rarp
Socket programming
Olsr protocol ppt
ISE-802.1X-MAB
Ad

Similar to AMQP.pdf (20)

PPTX
Enterprise messaging with jms
PPTX
RabbitMq
PPTX
RabbitMQ interview Questions and Answers
PPTX
RabbitMQ and AMQP with .net client library
PDF
MQTT Protocol: IOT Technology
PPTX
Edge to Cloud Protocol HTTP WEBSOCKET MQTT-SN MQTT.pptx
PPTX
Topic 5- Communications v1.pptx
PDF
B0960512
PPT
AMQP and RabbitMQ (OKCJUG, January 2014)
PPTX
How MQTT work ?
PDF
Red book mq
PPT
1. Overview of Distributed Systems
PPTX
Unit 4.pptx
PPTX
iot-application-layer-protocols-v1-200125143512.pptx
PPTX
MQTT Introduction
PPTX
ActiveMQ interview Questions and Answers
PPT
Real-Time Streaming Protocol -QOS
PPT
Chapter 4- Communication in distributed system.ppt
PDF
[@NaukriEngineering] Messaging Queues
PPTX
MQTT meets AMQP
Enterprise messaging with jms
RabbitMq
RabbitMQ interview Questions and Answers
RabbitMQ and AMQP with .net client library
MQTT Protocol: IOT Technology
Edge to Cloud Protocol HTTP WEBSOCKET MQTT-SN MQTT.pptx
Topic 5- Communications v1.pptx
B0960512
AMQP and RabbitMQ (OKCJUG, January 2014)
How MQTT work ?
Red book mq
1. Overview of Distributed Systems
Unit 4.pptx
iot-application-layer-protocols-v1-200125143512.pptx
MQTT Introduction
ActiveMQ interview Questions and Answers
Real-Time Streaming Protocol -QOS
Chapter 4- Communication in distributed system.ppt
[@NaukriEngineering] Messaging Queues
MQTT meets AMQP
Ad

Recently uploaded (20)

PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
PPT on Performance Review to get promotions
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Welding lecture in detail for understanding
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
Sustainable Sites - Green Building Construction
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
DOCX
573137875-Attendance-Management-System-original
PPTX
Construction Project Organization Group 2.pptx
PPT
Project quality management in manufacturing
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
web development for engineering and engineering
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPT on Performance Review to get promotions
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
UNIT 4 Total Quality Management .pptx
Welding lecture in detail for understanding
bas. eng. economics group 4 presentation 1.pptx
Sustainable Sites - Green Building Construction
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Arduino robotics embedded978-1-4302-3184-4.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
573137875-Attendance-Management-System-original
Construction Project Organization Group 2.pptx
Project quality management in manufacturing
Lesson 3_Tessellation.pptx finite Mathematics
CH1 Production IntroductoryConcepts.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
web development for engineering and engineering

AMQP.pdf

  • 1. Advanced Message Queuing Protocol Ritvik Shukla Department of Computer Science Engineering School of Engineering and Technology Central University Of Rajasthan March 2, 2023
  • 2. Overview 1. Distributed Systems 2. Message Queuing 3. Message Brokers 4. AMQP 5. Implementation CURAJ Advanced Message Queuing Protocol 2/47
  • 3. What are Distributed Systems? Distributed systems are software systems that run on multiple computers or nodes and work together to achieve a common goal. In a distributed system, each node communicates with other nodes by exchanging messages over a network. The nodes can be located in the same physical location or in different locations across the globe. Distributed systems are designed to provide high availability, scalability, and fault tolerance. They are used to solve problems that cannot be easily solved by a single computer or centralized system. Some examples of distributed systems include web applications, cloud computing platforms, online gaming systems, and social networking platforms. CURAJ Advanced Message Queuing Protocol 3/47
  • 4. What is Message Queuing? A message queue is a software component that allows applications to exchange messages or data with each other asynchronously. It acts as an intermediary between the sender and the receiver, ensuring reliable delivery and decoupling the sender and receiver so that they can operate independently. Message queues are often used in distributed systems where applications may be running on different machines or in different processes. They provide a way for applications to communicate without needing to know the exact details of each other’s implementation or availability. Common implementations of message queues include RabbitMQ, Apache Kafka. CURAJ Advanced Message Queuing Protocol 4/47
  • 5. Figure CURAJ Advanced Message Queuing Protocol 5/47
  • 6. How it work? The working of a message queue involves several components, including the sender, the receiver, and the message queue itself. • Sender sends a message: The sender application creates a message and sends it to the message queue. • Message is stored in the queue: The message is stored in the message queue until a receiver retrieves it. • Receiver retrieves the message: The receiver application polls or subscribes to the message queue and retrieves the next available message. • Message is processed: The receiver processes the message according to its requirements. CURAJ Advanced Message Queuing Protocol 6/47
  • 7. How it work? • Message is acknowledged: Once the receiver has processed the message, it sends an acknowledgment to the message queue to confirm that the message has been successfully received and processed. • Message is removed from the queue: The message queue removes the message from the queue and updates its internal state accordingly. CURAJ Advanced Message Queuing Protocol 7/47
  • 8. What is Message Broker? A message broker is an intermediary software component that facilitates communication between different applications or services by managing the exchange of messages. In a distributed system, applications or services may need to communicate with each other asynchronously, but direct communication between them may not be possible or efficient. In such cases, a message broker acts as a middleman, receiving messages from one application or service and forwarding them to one or more other applications or services. Message brokers provide several functions, including message routing, message filtering, message transformation, and message persistence. CURAJ Advanced Message Queuing Protocol 8/47
  • 9. Common Brokers Used Examples Some of the common examples of message brokers used are RabbitMQ, Apache Kafka, Apache ActiveMQ etc. CURAJ Advanced Message Queuing Protocol 9/47
  • 10. What is AMQP? AMQP (Advanced Message Queuing Protocol) is an open standard messaging protocol that enables reliable and efficient communication between applications or services in a distributed system. AMQP defines a messaging format and a set of rules for message routing and delivery, allowing applications to communicate asynchronously and reliably over a network. It provides features such as message queuing, message acknowledgment, and message routing to ensure that messages are delivered to their intended destination in a timely and secure manner. CURAJ Advanced Message Queuing Protocol 10/47
  • 11. What is AMQP? AMQP is designed to be interoperable, meaning that it can be used with different programming languages, operating systems, and messaging systems. It is widely used in various industries, including finance, healthcare, e-commerce, and telecommunications, to name a few. Note Popular messaging systems that implement AMQP include RabbitMQ and Apache ActiveMQ. CURAJ Advanced Message Queuing Protocol 11/47
  • 12. Working of AMQP CURAJ Advanced Message Queuing Protocol 12/47
  • 13. Working of AMQP AMQP works on a client-server model, where the messaging system consists of one or more message brokers (servers) and multiple client applications that interact with the brokers to send and receive messages. The basic workflow of AMQP is as follows: • A client application sends a message to a message broker using a specified queue or exchange. • The message broker receives the message and performs routing and delivery based on the message’s destination, using AMQP routing rules. • If the message is sent to a queue, it is stored in the queue until a consuming client retrieves it. CURAJ Advanced Message Queuing Protocol 13/47
  • 14. Working of AMQP • If the message is sent to an exchange, the message broker routes it to the correct queue or multiple queues based on a set of predefined routing rules. • A client application consumes the message from the queue and sends an acknowledgment to the broker indicating that the message has been received and processed. CURAJ Advanced Message Queuing Protocol 14/47
  • 15. Important Points Related to AMQP Note AMQP uses channels to multiplex multiple independent conversations over a single TCP connection, reducing the overhead of opening and closing multiple connections. Note AMQP supports different messaging patterns such as publish/subscribe, point-to-point, and request/response, allowing developers to choose the best pattern for their use case. CURAJ Advanced Message Queuing Protocol 15/47
  • 16. Messaging Patterns in AMQP There are different messaging patterns that AMQP supports like: • Publish/Subscribe • Point-To-Point • Request/Response CURAJ Advanced Message Queuing Protocol 16/47
  • 17. Publish/Subscribe Pattern The publish-subscribe (pub/sub) messaging pattern is a communication pattern used in distributed systems where publishers send messages to a topic or channel, and subscribers receive those messages based on their interest in that topic. In this pattern, the publishers and subscribers are decoupled from each other, meaning that publishers do not need to know who the subscribers are, and vice versa. When a publisher sends a message to a topic, the message is distributed to all subscribers that have subscribed to that topic. Subscribers can receive messages in a variety of ways, such as through a message queue or by using a WebSocket. CURAJ Advanced Message Queuing Protocol 17/47
  • 18. Point-To-Point Pattern The point-to-point messaging pattern is a communication pattern used in distributed systems where messages are sent from one sender to one specific receiver. In this pattern, a message is sent to a specific queue, and only one consumer can receive and process that message from that queue. When a sender sends a message to a queue, the message is stored in the queue until a receiver processes it. When a receiver processes a message, it is removed from the queue and cannot be received by any other receiver. This ensures that each message is processed only once by one receiver. CURAJ Advanced Message Queuing Protocol 18/47
  • 19. Request/Response Pattern The request-response messaging pattern is a communication pattern used in distributed systems where one application sends a request message to another application and expects a response message in return. In this pattern, the sender sends a request message and waits for a response from the receiver before continuing with its work. When a requester sends a request message to a receiver, it waits for a response message before continuing with its work. The receiver processes the request message and sends a response message back to the requester. The response message contains the result of the request or an error message if the request could not be processed. CURAJ Advanced Message Queuing Protocol 19/47
  • 20. Exchanges CURAJ Advanced Message Queuing Protocol 20/47
  • 21. Exchanges Exchanges take a message and route it into zero or more queues. The routing algorithm used depends on the exchange type and rules called bindings. AMQP brokers provide four exchange types: • Direct exchange • Fanout exchange • Topic exchange • Headers exchange CURAJ Advanced Message Queuing Protocol 21/47
  • 22. CURAJ Advanced Message Queuing Protocol 22/47
  • 23. Direct exchange A direct exchange delivers messages to queues based on the message routing key. A direct exchange is ideal for the unicast routing of messages (although they can be used for multicast routing as well). A queue binds to the exchange with a routing key K When a new message with routing key R arrives at the direct exchange, the exchange routes it to the queue if K = R CURAJ Advanced Message Queuing Protocol 23/47
  • 24. CURAJ Advanced Message Queuing Protocol 24/47
  • 25. Fanout exchange When a message is published to a fanout exchange, the exchange sends a copy of the message to every queue that is bound to it. This means that every message sent to a fanout exchange is delivered to all the queues that are bound to it, regardless of the routing key or any other message attribute. CURAJ Advanced Message Queuing Protocol 25/47
  • 26. CURAJ Advanced Message Queuing Protocol 26/47
  • 27. Topic exchange The topic exchange is a type of exchange where messages are routed to queues based on a pattern match between the routing key and the binding key. When a message is published to a topic exchange, the exchange compares the routing key of the message with the routing key of each queue that it is bound to. The routing key can contain one or more words separated by dots, and can also contain wildcard characters: • ”*” (star) can substitute for exactly one word. • ”#” (hash) can substitute for zero or more words. CURAJ Advanced Message Queuing Protocol 27/47
  • 28. CURAJ Advanced Message Queuing Protocol 28/47
  • 29. Headers exchange Header exchange is a type of exchange where messages are routed to queues based on message attributes (headers) that match the values specified in the binding. When a message is published to a header exchange, the exchange examines the message headers and compares them to the headers specified in each binding. The exchange then delivers the message to all the queues that have bindings with header values that match the message headers. CURAJ Advanced Message Queuing Protocol 29/47
  • 30. Implementation CURAJ Advanced Message Queuing Protocol 30/47
  • 31. Ecommerce Microservice What I built? Implementing a Microservice using RabbitMQ as a message broker. • Auth Service • Product Service • Order Service CURAJ Advanced Message Queuing Protocol 31/47
  • 32. Auth Service CURAJ Advanced Message Queuing Protocol 32/47
  • 33. Create User CURAJ Advanced Message Queuing Protocol 33/47
  • 34. Login User CURAJ Advanced Message Queuing Protocol 34/47
  • 35. RabbitMQ on Docker CURAJ Advanced Message Queuing Protocol 35/47
  • 36. Admin UI CURAJ Advanced Message Queuing Protocol 36/47
  • 37. Product Service CURAJ Advanced Message Queuing Protocol 37/47
  • 38. Restricted Access CURAJ Advanced Message Queuing Protocol 38/47
  • 39. Uniqueness Check CURAJ Advanced Message Queuing Protocol 39/47
  • 40. Create a Product CURAJ Advanced Message Queuing Protocol 40/47
  • 41. Buy a Product CURAJ Advanced Message Queuing Protocol 41/47
  • 42. Message Queued CURAJ Advanced Message Queuing Protocol 42/47
  • 43. Order Service CURAJ Advanced Message Queuing Protocol 43/47
  • 44. Checkout CURAJ Advanced Message Queuing Protocol 44/47
  • 45. Consumed Message CURAJ Advanced Message Queuing Protocol 45/47
  • 46. References RabbitMQ Docs https://www.rabbitmq.com/documentation.html RabbitMQ AMQP (0-9-1) Specification https://www.amqp.org/specification/0-9-1/amqp-org-download AMQP CURAJ Advanced Message Queuing Protocol 46/47
  • 47. The End CURAJ Advanced Message Queuing Protocol 47/47