|
|
1
250
|
|
|
2
81
在这里,对AMQP协议“在引擎盖下”的作用有一个很好的概念理解是有用的。我想说的是,AMQP 0.9.1选择部署的文档和API使这一点特别令人困惑,因此这个问题本身是许多人必须解决的问题。 TL;博士 A. 联系 是与AMQP服务器进行物理协商的TCP套接字。正确实现的客户端每个应用程序都有一个这样的线程,线程安全,可以在线程之间共享。 A. 频道 是连接上的单个应用程序会话。线程将具有一个或多个这样的会话。AMQP体系结构0.9.1是指这些不在线程之间共享,并且应该在创建它的线程完成时关闭/销毁。当发生各种协议冲突时,服务器也会关闭它们。 A. 消费者 是一个虚拟构造,表示特定频道上存在“邮箱”。使用使用者告诉代理将消息从特定队列推送到该通道端点。 连接事实 首先,正如其他人正确指出的那样 联系 是表示与服务器的实际TCP连接的对象。连接是在AMQP中的协议级别指定的,并且与代理的所有通信都通过一个或多个连接进行。
渠道事实 A. 频道 是为应用程序的每一部分打开的应用程序会话,用于与RabbitMQ代理通信。它在单个 联系 ,表示 一场 与经纪人。
消费者事实 消费者是由AMQP协议定义的对象。它既不是一个通道,也不是一个连接,而是您的特定应用程序用作某种“邮箱”来投递邮件的东西。
就你所说的消费者线程池而言,我怀疑Java客户端正在做一些类似于我为客户端编程的事情(我的客户端是基于.Net客户端的,但经过了大量修改)。 |
|
|
3
25
我找到了这篇文章,它解释了AMQP模型的各个方面,通道就是其中之一。我发现这对我的理解很有帮助 https://www.rabbitmq.com/tutorials/amqp-concepts.html
|
|
|
4
10
|
|
|
farhandika zahrir · Golang通道没有关闭 2 年前 |
|
vtm11 · Python样式生成器实现为通道:过早读取 2 年前 |
|
|
Lukas Müller · 如何以“池化”方式使用无缓冲的go通道 2 年前 |
|
|
Pablo Matias Gomez · 如何在Golang定义零通道 2 年前 |
|
|
Wooram Jung · 如何在Android O中动态更改通知声音 8 年前 |
|
|
Sridhar · 如何实现对无缓冲通道的非阻塞写入? 8 年前 |