[zeromq-dev] ZMQ_ROUTER modification
Whit Armstrong
armstrong.whit at gmail.com
Wed Dec 14 15:58:23 CET 2011
Well, let me explain what I'm trying to do. Perhaps someone can show
me a better way.
I have a client using a dealer socket. Talking to a mixed server
environment, a couple of 6 core machines and a 12 core machine.
Each of the servers uses a simple queue device to fan out the jobs to
the workers over ipc:
So, basically this pattern, but the client connects to many machines
w/ different numbers of cores.
client(DEALER)->Queue(ROUTER,DEALER)->worker(REP)
Because the dealer socket on the client fair queue's the messages to
all the queue devices equally, so the 12 core machine quickly becomes
idle after working off its queue while the 6 core machines continue
work off their queues.
My thought was that I could set the HWM to 1 on the ROUTER socket
which would prevent the messages from being read aggressively, but
since ROUTER will drop on HWM, I can't do that.
Can anyone suggest a better pattern?
-Whit
On Wed, Dec 14, 2011 at 3:35 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:
> On 12/14/2011 11:49 AM, Whit Armstrong wrote:
>>
>> Is it possible to construct a ZMQ_ROUTER socket that does not drop on HWM?
>
>
> Technically it is possible. It can block instead of dropping. The question
> is whether single peer being dead/slow should really block sending messages
> to all the other peers.
>
> Martin
>
More information about the zeromq-dev
mailing list