This document describes the common terms in TDMQ for RabbitMQ.
|Channel||In each physical TCP connection of a client, multiple channels can be established, each of which represents a session task.|
|Connection||It refers to a physical TCP connection between a producer or consumer and TDMQ for RabbitMQ.|
|Vhost||A virtual host (vhost) is used for logical isolation and manages its own exchanges, queues, and bindings separately, so that applications can run securely in different vhosts without interfering with each other. There can be multiple vhosts under one instance, and there can also be multiple exchanges and queues in one vhost. A vhost must be specified when a producer or consumer connects to TDMQ for RabbitMQ.|
|Queue||A queue is an internal object of RabbitMQ used to store messages. Each message will be put into one or more queues.|
|Exchange||A producer sends a message to an exchange, which then routes the message to one or more queues based on its attributes or content (or discards it).|
|Routing key||When a producer sends a message to an exchange, it usually specifies a routing key to indicate the routing rule for the message, and the routing key needs to be used together with an exchange type and a binding key to eventually take effect.
If the exchange type and binding key are fixed (which is generally the case), the producer can determine the message flow by specifying the routing key when sending the message to the exchange.
|Binding||RabbitMQ associates an exchange with a queue through a binding, so that it can know how to correctly route a message to the specified queue.|
|Binding key||When a queue is bound to an exchange, a binding key is generally specified. Then, when a consumer sends a message to the exchange, the message will be routed to the bound queue if the binding key matches the routing key.
If multiple queues are bound to the same exchange, these bindings can use the same binding key.
The binding key does not take effect in all situations; instead, it depends on the exchange type. For example, a fanout exchange will ignore the binding key and route the message to all queues bound to the exchange.
|Exchange type||Commonly used exchange types in RabbitMQ include fanout, direct, and topic.