【发布时间】:2020-06-09 06:06:49
【问题描述】:
我正在尝试了解 AMQP 协议的框架部分。我知道 AMQP 首先打开一个 TCP 连接,然后在这个连接中使用多个通道来防止设置多个 TCP 连接的开销(这很好解释 here)。 现在我正在努力理解链接是如何发挥作用的。所以据我了解,它的工作原理如下:
- 在两个容器(基本上是两个程序)之间建立了一个连接(大部分时间是 TCP)
- 创建了多个频道。它们不绑定到任何节点
- 一个会话结合了每个方向的两个通道,仍然没有绑定到任何节点
- “链接”将会话从两端绑定到两个节点
我的理解正确吗?当我们已经有渠道时,为什么还需要“链接”的概念?为什么不让通道成为两个节点之间的连接呢?简单来说,频道和链接的区别是什么?
Microsoft 状态:
通道是连接顶部的单向、出站、虚拟传输路径。
和
链接是通过会话创建的通信路径,可实现单向传输消息
这对我来说听起来基本相同。 如果有人能用简单的术语解释通道、会话和链接之间的关系,我会非常高兴。
【问题讨论】:
标签: java c# rabbitmq network-programming amqp