Cisco Cisco Process Orchestrator 3.1 User Guide
1-14
Cisco Process Orchestrator 3.1 User Guide
Chapter 1 Introduction
Process Orchestrator System Components
AMQP Exchange Types
The exchange type determines how AMQP processes and routes messages. There are several types of
exchanges.
exchanges.
Exchange Type
Description
Default
The default exchange is a direct exchange with no name (empty string) pre-declared
by the broker. It has one special property that makes it very useful for simple
applications: every queue that is created is automatically bound to it with a routing
key which is the same as the queue name.
by the broker. It has one special property that makes it very useful for simple
applications: every queue that is created is automatically bound to it with a routing
key which is the same as the queue name.
For example, when you declare a queue with the name of "search-indexing-online",
the AMQP broker will bind it to the default exchange using
"search-indexing-online" as the routing key. Therefore, a message published to the
default exchange with the routing key "search-indexing-online" will be routed to
the queue "search-indexing-online". In other words, the default exchange makes it
seem like it is possible to deliver messages directly to queues, even though that is
not technically what is happening.
the AMQP broker will bind it to the default exchange using
"search-indexing-online" as the routing key. Therefore, a message published to the
default exchange with the routing key "search-indexing-online" will be routed to
the queue "search-indexing-online". In other words, the default exchange makes it
seem like it is possible to deliver messages directly to queues, even though that is
not technically what is happening.
Direct
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).
is ideal for the unicast routing of messages (although they can be used for multicast
routing as well).
Fanout
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 fanout exchange, when a new message is
published to that exchange a copy of the message is delivered to all N queues.
Fanout exchanges are ideal for the broadcast routing of messages.
ignored. If N queues are bound to a fanout exchange, when a new message is
published to that exchange a copy of the message is delivered to all N queues.
Fanout exchanges are ideal for the broadcast routing of messages.
Topic
Routes messages to one or many queues based on matching between a message
routing key and the pattern that was used to bind a queue to an exchange. 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.
routing key and the pattern that was used to bind a queue to an exchange. 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.
Headers
Routes messages based on multiple attributes that are more easily expressed as
message headers than a routing key. Headers exchanges ignore the routing key
attribute. Instead, the attributes used for routing are taken from the headers
attribute. A message is considered matching if the value of the header equals the
value specified upon binding.
message headers than a routing key. Headers exchanges ignore the routing key
attribute. Instead, the attributes used for routing are taken from the headers
attribute. A message is considered matching if the value of the header equals the
value specified upon binding.