ZeroMQ Majordomo模式

时间:2012-07-25 16:47:01

标签: zeromq

在Majordomo模式中,worker中的一段代码看起来像这样

mdwrk session ("tcp://localhost:5555", sourceStr.c_str(), verbose);

zmsg *reply = 0;
while (1) {
    zmsg *request = session.recv (reply);
    if (request == 0) {
        break;              //  Worker was interrupted
    }

    //reply = request;        //  Echo is complex... :-)
    reply = new zmsg(sourceStr.c_str());
}

对我的工作人员来说,客户的请求是一个发送到交易所的订单。在我将订单发送到交易所之后,我正试图解决这个问题,然后我收到一条消息,如Insert,Pending,New等,我可以将FIX响应的内容填入zmsg *回复。

FIX消息异步回来,所以我无法说出

reply = FIXResponse;

这是如何解决的?

1 个答案:

答案 0 :(得分:0)

我认为Majordomo协议是为了处理同步请求而在这里并不合适。

刚刚遇到了其他一个问题,并且发现这些回复有多个来源。你可以将它们全部推入一个稳定的PULL插座吗? (然后在适当的时候重新发布。如果音量很低,你甚至可以通过持久用户获得可靠性。)