【发布时间】:2013-08-27 10:56:21
【问题描述】:
RabbitMQ Java client 有以下概念:
-
Connection- 与 RabbitMQ 服务器实例的连接 -
Channel- ??? - 消费者线程池 - 从 RabbitMQ 服务器队列中消费消息的线程池
- 队列 - 以 FIFO 顺序保存消息的结构
我正在尝试了解它们之间的关系,更重要的是,关联。
- 我仍然不太确定
Channel是什么,除了这是您发布和使用的结构,并且它是从打开的连接创建的。如果有人可以向我解释“频道”代表什么,它可能有助于澄清一些事情。 - Channel和Queue是什么关系?可以使用同一个 Channel 与多个 Queue 进行通信,还是必须是 1:1?
- Queue 和 Consumer Pool 是什么关系?多个消费者可以订阅同一个队列吗?同一个Consumer可以消费多个Queue吗?还是1:1的关系?
【问题讨论】:
-
这个问题的答案导致我向 golang 客户端报告 this issue,而不是在这里提问。
-
通道是一个逻辑概念,用于多路复用客户端和节点之间的单个物理 TCP 连接。通道号包含在 AMQP 帧的消息头中。
标签: java rabbitmq messaging amqp channel