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.
Notes and Constraints
- 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.
- When an exchange name of a RabbitMQ AMQP-0-9-1 instance contains special characters such as percent (%), vertical bar (|), slash (/), andperiod (.), this name is not consistently displayed on the monitoring page. The special characters are displayed as underscores (_). For example, exchange Exchange.1%1|2_3/ is displayed as Exchange_1_1_2_3_ in monitoring.
Prerequisite
A virtual host has been created.
Creating a RabbitMQ Exchange
- Log in to the RabbitMQ console.
- Click
in the upper left corner to select the region where your instance is located.
- Click an instance name to go to the instance details page.
- In the navigation pane, choose Instance > 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, periods (.), percent signs (%), vertical bars (|), hyphens (-), underscores (_), or slashes (/).
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.
Related Document
To create an exchange by calling an API, see Creating an Exchange.
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