[zeromq-dev] (no subject)

Paul Colomiets tailhook at yandex.ua
Thu Dec 30 13:03:48 CET 2010



30.12.2010, 10:52, "Martin Sustrik" <sustrik at 250bpm.com>:
> On 12/30/2010 12:17 AM, Paul Colomiets wrote:
>
>>  For reliability of REQ sockets I use a timeouts. Likewise PUB/SUB
>>  I could send somehow "pause" command to publisher, and
>>  read the data until got "paused" message. But it means all
>>  subscribers will suffer. Is there any better ideas?
>
> Even worse, waiting for pause-ack can cause the subscriber to hang-up on
> shutdown (if there's an network disruption or such).
You are right. I can use timeouts, but it usually means, that restart process could
last for few seconds, or may be tens of seconds.

> The problem you are
> solving is traditionally solved by acking individual messages in async
> manner and resending those that weren't acked after the client
> reconnects. The client has to drop the duplicate messages.

Well, that means that I must use XREQ/XREP instead of PUB/SUB.
And does this mean, I should use PUB/SUB only where reliability is not needed?

And do you have any plans to change this? I mean implement another kind of
pub/sub which will send acks. Or maybe graceful socket shutdown? (which I see
preferred, because both ways will not work if there is a device in the middle
and it crashes, but the latter will have less performance impact)

-- 
Paul



More information about the zeromq-dev mailing list