Creating a RabbitMQ Exchange
Exchanges receive and assign messages. Producers send messages to exchanges first, rather than directly to queues. Exchanges route messages to one or more queues based on routing keys. If there are no matching queues, the messages are discarded.
This section describes how to create an exchange on the console. For RabbitMQ 3.x.x instances, seven exchanges are created by default after virtual host creation. These exchanges include (AMQP default), amq.direct, amq.fanout, amq.headers, amq.match, amq.rabbitmq.trace, and amq.topic.
Prerequisites
A virtual host has been created.
Creating a RabbitMQ Exchange
- Log in to the console.
- In the upper left corner, click and select a region.
Select the region where your RabbitMQ instance is.
- Click and choose Middleware > Distributed Message Service for RabbitMQ to open the console of DMS for RabbitMQ.
- Click an instance name to go to the instance details page.
- In the navigation pane, choose Virtual Hosts.
- Click a virtual host name.
- On the Exchange tab page, click Create Exchange. The Create Exchange dialog box is displayed.
- Configure the exchange name and other parameters by referring to Table 1.
Table 1 Exchange parameters Parameter
Description
Name
When creating an exchange, you can modify the automatically generated exchange name. Naming rules: 3–128 characters and only letters, digits, percent signs (%), vertical bars (|), hyphens (-), underscores (_), slashes (/), or backslashes (\).
The name cannot be changed once the exchange is created.
Type
Select a routing type. For details, see Exchanges.
- direct: Exchanges route messages to matching queues based on the routing keys.
- fanout: Exchanges route messages to all bound queues.
- topic: Exchanges route messages to queues based on routing key wildcard matching.
- headers: Exchanges are related to the message headers. Routing keys are not used. Exchanges route messages based on matching between key-value pairs in the message headers and the binding (a key-value pair).
- x-delayed-message: Exchanges delay message delivery. Delayed messages will be routed by the exchange type-specified rules.
- x-consistent-hash: Exchanges calculate a hash value based on a routing key, and route a message to the hashed queue.
x-delayed-type
This parameter is displayed only when Type is set to x-delayed-message.
Messages are routed by x-delayed-type-specified rules.
- direct: Exchanges route messages to matching queues based on the routing keys.
- fanout: Exchanges route messages to all bound queues.
- topic: Exchanges route messages to queues based on routing key wildcard matching.
- headers: Exchanges are related to the message headers. Routing keys are not used. Exchanges route messages based on matching between key-value pairs in the message headers and the binding (a key-value pair).
Auto-Delete
Indicates whether to enable automatic exchange deletion.
- Enabled: The exchange will be automatically deleted when the last bound queue unbound from the exchange.
- Disabled: The exchange will not be deleted when the last bound queue unbound from the exchange.
Persistence
This parameter is mandatory for RabbitMQ 3.x.x instances, and enabled by default for RabbitMQ AMQP-0-9-1 ones.
Indicates whether to enable exchange persistence.
- Enabled: The exchange survives server restart.
- Disabled: The exchange will be deleted after server restarts and needs to be recreated.
Internal
Only RabbitMQ 3.x.x instances have this parameter.
Indicates whether exchanges are for internal use.
- Yes: An exchange can only bind another exchange instead of a queue.
- No: Exchanges can bind exchanges and queues.
- Click OK.
View the created exchange on the Exchange tab page.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot