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

Reply via email to