Hi all,
I am designing an architecture with tens of workers, each with hundreds
of sockets. All the sockets connect to the same address. On the broker
point of view, nothing differentiates the connections it receives except
their unique identity it assigns to them. If it was one worker with
1,000 sockets or 10 workers with 100 sockets or whatever, the broker has
no way to see it. That makes load balancing uneasy since the broker is
blind against the workers socket repartition.
I could use a different port for each worker, but it would be a huge
overall redesign. So I have only one port. The idea would be that each
worker could retrieve the identity of its sockets, as assigned by the
broker. Then each worker would transmit to the brocker via a message the
list of its identities, and the broker would be able to elaborate a load
per worker.
The only solution I foresee is to make use of 5 bytes of the greeting's
filler to transmit this identity. Of course, it would be activated only
on the activation of a new option on the broker socket, and another one
on the workers ones to retrieve it. This would be not compatible with
the IDENTITY. I think something like this did exist in the past ?
Does someone has a better idea ?
Cheers,
Laurent
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev