Hi Ivan,

Majordomo is based on a 1-to-1 request-reply model for workers, yes.
You should be able to quite easily modify MDP to allow multiple
replies, perhaps by adding a "there's more coming" indicator to
replies that the broker uses to route several replies back to the same
client.

Modifying MDP and the implementations will be simpler than writing
your own from scratch.

You can also use other architectures; MDP is specifically aimed at
allowing multiple redundant workers per service type. If you have a
single well-known gateway per exchange you can just connect each
client to each exchange gateway directly and work fully
asynchronously.

-Pieter

On Thu, Jul 26, 2012 at 10:29 PM, Ivan Figueredo <[email protected]> wrote:
> I am writing a distributed trading manager. There are many different
> liquidity providers, and the client would like to route to a given exchange.
> With this in mind, I thought that using the Majordomo pattern with a broker
> in between clients and workers asking a particular [named] worker to do its
> work. However at least as I understand it, Majordomo won't work in this
> scenario.
>
> Let's take the FIX protocol. Since FIX is asynchronous, I believe I can't
> use the Majordomo. You may send an order to a FIX engine, and that one order
> may send back many different messages. For example, that one order may see
> the following responses: Insert, Pending, New, Partial Fill, then finally
> Fill.
>
> In the Majordomo pattern, a section of code in the worker looks like this
>
> 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());
> }
>
>
> This assumes one request, and one reply. Since my application is not
> strictly a single request, that gets a single response as in the code above,
> do I have to drop Majordomo ?
>
>
> Thanks!
>
>
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to