63

这两张图片来自http://zguide.zeromq.org/page:all

如果我们忽略推挽模式中的水槽,这两种模式有什么区别?消息的传输方式是否有区别,如果有,有什么区别?

4

1 回答 1

83

不同之处在于PUB套接字向所有订阅者发送相同的消息,而在其所有连接的套接字之间PUSH进行循环。PULL

在您的示例中,如果您只从根发送一条消息,那么所有订阅者都会收到它(除了慢速订阅者等),但只有 1 个工作人员。

发布/订阅模式用于根据主题进行广泛的消息分发。推/拉模式实际上是一种流水线机制。您的推/拉示例似乎正在尝试进行负载平衡,这很好,但由于其他问题, req/rep 可能更适合于此。

看起来这里的“问题”在您获得图像的 0MQ 指南的同一部分中进行了描述:推/拉呼吸机示例

于 2013-07-23T16:25:18.943 回答