0MQ PUSH / PULL订购如果没有连接PULL插座,则会损坏

时间:2016-05-02 07:49:24

标签: zeromq netmq

我在$ find / -name "seq2seq.py" (Python-> C#)中有一个PUSH/PULL模式,只有一个0MQ套接字和一个PUSH套接字。只要两者都连接,无论工作者处理消息需要多长时间,都会保留排队消息的顺序。

问题是当工作者断开连接一段时间然后重新连接时,那么在此期间排队的所有消息将以任意随机顺序到达,无论它们如何被PULL套接字排队。是否有针对此问题的内置解决方案,还是应该使用更高级的模式?

我在PULL方面添加了代码:

PUSH

1 个答案:

答案 0 :(得分:0)

我很确定0mq QHash不保证交付顺序。

也许您可以PUSH/PULL(或REQ/REP或类似的模式)代替 - REQ/ROUTER在您需要同步时非常有用。在我的脑海中,您可以拥有一个进程内REQ/REP队列,您可以从该队列中提取消息并将其推送到PUSH/PULL套接字。