0% found this document useful (0 votes)
20 views

Advance Queuing Messaging Protocol - Building Data Streaming Applications With Apache Kafka

The document discusses Advance Queuing Messaging Protocol (AMQP), an open protocol for asynchronous message queuing. It describes the main components of an AMQP-based messaging system as producers that send messages to brokers which then deliver them to consumers. The document outlines different types of exchanges in AMQP - direct, fanout, and topic - which determine how messages are routed from producers to queues and consumers.

Uploaded by

Dallas Guy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Advance Queuing Messaging Protocol - Building Data Streaming Applications With Apache Kafka

The document discusses Advance Queuing Messaging Protocol (AMQP), an open protocol for asynchronous message queuing. It describes the main components of an AMQP-based messaging system as producers that send messages to brokers which then deliver them to consumers. The document outlines different types of exchanges in AMQP - direct, fanout, and topic - which determine how messages are routed from producers to queues and consumers.

Uploaded by

Dallas Guy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

PREV NEXT

⏮ Publish-subscribe messaging system  Building Data Streaming Applications with Apache Kafka Using messaging systems in big data streaming ap… ⏭

Advance Queuing Messaging Protocol


As discussed in previous sections, there are different data transmission protocols using which messages can be

transmitted among sender, receiver, and message queues. It is difficult to cover all such protocols in the scope of
this book. However, it is important to understand how these data transmission protocols work and why it is an 
important design decision for your message-oriented application integration architecture. In the light of this, we
will cover one example of such a protocol: Advance Message Queuing Protocol also known as AQMP.

AQMP is an open protocol for asynchronous message queuing that developed and matured over several years.
AMQP provides richer sets of messaging functionalities that can be used to support very advanced messaging
scenarios. As depicted in the following figure, there are three main components in any AQMP-based messaging
system:

Find answers on the fly, or master something new. Subscribe today. See pricing options.

AQMP architecture

As the name suggests, producers sends messages to brokers that in turn deliver them to consumers. Every broker
has a component called exchange that is responsible for routing the messages from producers to appropriate
message queues.

An AQMP messaging system consists of three main components:

Publisher(s)

Consumer(s)

Broker/server(s)

Each component can be multiple in number and situated on independent hosts. Publishers and consumers
communicate with each other through message queues bound to exchanges within the brokers. AQMP provides
reliable, guaranteed, in-order message delivery. Message exchanges in an AQMP model can follow various
methods. Let's look at each one of them:

Direct exchange: This is a key-based routing mechanism. In this, a message is delivered to the queue whose
name is equal to the routing key of the message.

Fan-out exchange: A fan-out exchange routes messages to all of the queues that are bound to it and the
routing key is ignored. If N queues are bound to a fan-out exchange, when a new message is published to that
exchange, a copy of the message is delivered to all N queues. Fan-out exchanges are ideal for the broadcast
routing of messages. In other words, the message is cloned and sent to all queues connected to this exchange.

Topic exchange: In topic exchange, the message can be routed to some of the connected queues using
wildcards. The topic exchange type is often used to implement various publish/subscribe pattern variations.
Topic exchanges are commonly used for the multicast routing of messages.

Support / Sign Out


© 2021 O'Reilly Media, Inc. Terms of Service / Privacy Policy

You might also like