我PUSH/PULL
在(Python->C#)中有一个模式0MQ
,只有一个PUSH
套接字和一个PULL
套接字。只要两者都连接,无论worker处理消息需要多长时间,排队消息的顺序都会被保留。
问题是当worker断开一段时间然后重新连接时,那么在此期间排队的所有消息都会以任意随机顺序到达,无论它们是如何被PUSH
Socket排队的。这个问题有内置的解决方案还是我应该使用更高级的模式?
我在 PULL 端添加代码:
using (var receiver = new PullSocket())
{
receiver.Bind("tcp://localhost:5557");
while (true)
{
var payload = receiver.ReceiveFrameString();
log.Debug($"Payload: {payload}");
}
}