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