All Products
Search
Document Center

ApsaraMQ for RabbitMQ:Terms

Last Updated:Mar 13, 2024

This topic describes the terms that are used in ApsaraMQ for RabbitMQ to help you better understand and use ApsaraMQ for RabbitMQ.

A

  • Alternate Exchange

    • Alternate exchanges (AEs) are bound to existing exchanges and are used to receive messages that fail to be routed from existing exchanges to queues.

  • Arguments

    • Parameters that are used to configure queues. You can use these parameters to specify information such as the Time to Live (TTL) for messages, information about dead-letter exchanges, and dead-letter routing keys.

  • Auto Delete

    • An attribute of exchanges or queues. If you set this attribute to true for an exchange, the system automatically deletes the exchange after all queues are unbound from the exchange. If you set this attribute to true for a queue, the system automatically deletes the queue after all subscriptions to this queue are canceled.

B

  • Binding

    • A set of routing rules. An exchange determines the queues to which the exchange routes messages based on the binding that is specified. The system binds an exchange to a queue based on the routing rules that are included in the binding.

  • Binding Key

    • Exchanges use binding keys to determine the queues to which messages need to be routed.

C

  • Channel

    • Multiple channels can be created over each physical Transmission Control Protocol (TCP) connection on a client. Each channel is used to run a session task. For more information, see Connection and channel.

  • Connection

    • The physical TCP connection that is established between a producer or consumer and an ApsaraMQ for RabbitMQ broker. For more information, see Connection and channel.

  • Customer

    • A program that receives and consumes messages.

D

  • Dead-letter exchange

    • An exchange that is used to route dead-letter messages to the dead-letter queue. A dead-letter exchange delivers dead-letter messages to the dead-letter queue based on binding keys, dead-letter routing keys, and headers attributes. All common types of exchanges, such as direct exchanges, can be used as dead-letter exchanges. For more information, see Dead-letter exchanges.

  • Dead-letter routing key

    • A set of routing rules based on which the system routes dead-letter messages. If you do not specify a dead-letter routing key for a dead-letter message, the routing key of the message is used as the dead-letter routing key.

  • Dead-letter message

    • A message that is sent to a dead-letter exchange. A message may be sent to a dead-letter exchange in the following scenarios:

      • The requeue parameter is set to false, and the consumer uses basic.reject or basic.nack to send negative acknowledgements for messages.

      • The message fails to be consumed after being re-sent 16 times. For more information, see Message timeout and retry.

      • The message expires. The time that the message is stored in the queue exceeds the specified message TTL. For more information, see Message TTL.

  • Dead-letter queue

    • The queue that is bound to a dead-letter exchange. Dead-letter queues are used to store dead-letter messages.

  • Delayed messages

    • A delayed message is not immediately sent to consumers after the ApsaraMQ for RabbitMQ broker receives the message. The broker is configured to send the message to consumers after a specific period of time elapses. For more information, see Delayed messages.

  • Durability

    • The durability of queues, exchanges, and bindings. Queues, exchanges, and bindings are retained after the broker restarts.

E

  • Exchange

    • A message routing agent. A producer sends a message to an exchange, and then the exchange routes the message to one or more queues based on the attributes and the content of the message. For more information, see Exchange.

I

  • Internal

    • An attribute of exchanges. An internal exchange can be bound to another exchange.

  • Instance

    • An instance is an independent ApsaraMQ for RabbitMQ resource entity. An instance contains basic resources such as virtual hosts (vhosts), exchanges, and queues.

  • Instance throttling

    • When the transactions per second (TPS) of an ApsaraMQ for RabbitMQ instance exceeds the upper limit of the specification that you purchase for the instance, throttling is triggered for the instance.

      The system performs the following operations after an instance is throttled:

      • The ApsaraMQ for RabbitMQ broker returns an error code and an error message.

      • The ApsaraMQ for RabbitMQ broker closes the channel of the current request. You can detect exceptions in the code and reopen the channel.

      For more information, see Best practices for instance throttling.

M

  • Message ID

    • The ID of a message. Message ID is an optional property of a message. A message ID is a short string. In most scenarios, a message ID is used as a unique identifier of a message. You can track and identify messages in scenarios such as sales orders and ticket related scenarios based on message IDs. In these cases, you must specify a unique ID for each message. ApsaraMQ for RabbitMQ servers do not ensure the idempotence of message consumption. Consumption idempotence means that if a message is sent to a consumer multiple times, the result of multiple consumption operations is the same as the result of one message consumption operation, and the repeated consumption operations do not affect the business application in a negative manner. To ensure the idempotence of message consumption, you must specify a unique identifier for each message and configure your ApsaraMQ for RabbitMQ consumers to implement idempotent consumption. For more information, see Message idempotence.

  • Message TTL

    • The Time to Live (TTL) for messages in a queue. If the retention period of a message in the queue exceeds the TTL for messages in the queue, the message expires. You must set the TTL for messages to a non-negative integer. The value of this parameter is in milliseconds. For example, if the TTL for messages in a queue is 1,000 milliseconds, messages can be retained for up to 1 second in the queue. For more information, see Message TTL.

P

  • Producer

    • A producer is a program that produces and publishes messages.

Q

  • Queue

    • Message queues are used to store messages. Each message can be routed to one or more queues.

R

  • Routing Key

    • When a producer sends a message to an exchange, the producer specifies a routing key that indicates the routing rules of the message. The routing key takes effect based on the type of the exchange and the binding keys of queues that are bound to the exchange. In most cases, the routing key of a message determines the queues to which the message needs to be routed.

V

  • Vhost

    • A virtual host that is used to logically isolate resources, including exchanges, queues, and bindings. An application can run on an independent vhost in a secure manner and is not affected by other applications. An instance can contain multiple vhosts, and a vhost can contain multiple exchanges and queues. To connect a producer or consumer to ApsaraMQ for RabbitMQ, you must specify a vhost for the producer or consumer.