Hi All,

I would like your advices on an architectural point please, where sessions between clients and workers shall be managed. A session starts with an authentication of the client, then there are both sides messages exchanges, then one closes the session. During a session, in my project, there is some "memory" in the exchanges. So either one client shall speak always to the same worker, either the "memory" aspects shall be managed by a broker.

To be clear, let's consider the two following solutions:

1. CLIENTS---PROXY---WORKERS: Here, the "memory" is managed at WORKER
   level. Then the PROXY shall link one CLIENT always to the same
   WORKER, so the PROXY is ROUTER-ROUTER. The CLIENT identities are put
   in a table of WORKER assignation inside the PROXY.
2. CLIENTS---BROKER---WORKERS: Here, the "memory" is managed at BROKER
   level. The jobs sent to the WORKER can be performed as a single task
   unit, and one CLIENT can use different WORKERs transparently in the
   same session. Here, the BROKER can be a ROUTER-DEALER. But the
   BROKER can therefore be a bottleneck if the "memory" management is a
   bit heavy.

Your thoughts please, pros/cons, other solutions ?

Laurent


_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to