我一直在使用 qpid,现在我正试图转向减少代理的消息传递系统,但我对 Pub Sub 模式中的网络流量感到非常困惑。我阅读了以下文档: http ://www.250bpm.com/pubsub#toc4 并且真的很困惑订阅转发实际上是如何完成的?
我认为零 mq 必须与底层网络拓扑无关,但似乎并非如此。每个节点如何知道要转发什么和不转发什么(例如:在 eth 网络中,可能有数百万订阅者和发布者,消息树对我来说听起来并不可行。那些甚至不知道零 mq 的存在,他们如何将数据包转发给连接到他们的订阅者,对他们来说这只是一个普通数据包,所以即使是同一个数据包,他们也只会转发多个数据包副本?我不是网络专家所以可能是我遗漏了一些关于消息树的明显内容以及它是如何创建的吗?您能否举一些示例案例,如何创建此分发树以及创建 xpub 和 xsub 套接字的确切节点?
设备(链接中使用的术语)是否类似于代理,在整篇文章中,设备似乎只是任何一般的中间跃点,它对零 mq 套接字(只是一个随机网络跃点)一无所知,如果它确实是经纪人之类的东西,这是否意味着对于 pub sub,消息树中的所有节点都必须满足作为设备的定义,因此它不是一个无故障的设计?
同样在树形图中(来自包含 P、D、C 的链接),我最初假设 C 和 C 是两个订阅者,而 P 是唯一的发布者(D 只是随机跳),但现在似乎我们将 D 作为零 mq 。C 订阅 D 并且 D 订阅 P 吗?或两者都 C 只订阅 P (更通用的是,每个节点是否仅在 中订阅其父节点)。很抱歉这个新手问题,但似乎我在这里遗漏了一些明显的东西,如果有人能提供更多见解,那就太好了。