tencent cloud

Feedback

Basic Concepts

Last updated: 2022-02-11 14:25:00

This document describes the common terms in TDMQ for RabbitMQ.

Term Definition
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.
  • Fanout: a fanout exchange will route all messages sent to it to all queues bound to it.
  • Direct: a direct exchange will route messages to the queue whose binding key exactly matches the routing key.
  • Topic: a topic exchange is similar to a direct exchange. It supports multi-condition match and fuzzy match; that is, it will route messages to the queues bound to it by using routing key pattern match and string comparison.
  • Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support