答案 0 :(得分:67)
区别在于PUB
套接字向所有订阅者发送相同的消息,而PUSH
在其所有订阅者中执行循环连接PULL
套接字。
在您的示例中,如果您只从根发送一条消息,那么所有订阅者都将收到它(除了慢速订阅者等),但只有1名工作人员。
发布/订阅模式用于根据主题进行广泛的消息分发。推/拉模式实际上是一种流水线机制。您的推/拉示例似乎正在尝试进行负载平衡,这很好,但由于其他问题,req / rep可能更适合这种情况。
看起来这里的“问题”在0MQ指南的同一部分中描述了你得到的图像:push/pull ventilator example