Dmitry, thank you for the reply, but I would imagine that haproxy would
close all sessions on the DOWN nodes, regardless of the type of client
connecting and the protocol? Can this be enforced?

I did implement producer ack, but that slows down publishes big time. Have
also tried heartbeat and that did help, but this is initiated by the client
and I would like to see if haproxy can manage this. I.e. close all sessions
on a node that is marked as DOWN.
On 17/01/2014 8:09 pm, "Dmitriy Samsonov" <dmitriy.samso...@gmail.com>
wrote:

> Hi!
>
> That's related to rabbiit's default heartbeat timeout. You can set it to
> lower value when connecting. Also there is a way to check if message was
> actually delivered to the broker, take a look at rabbiit's docs.
>
>
> пятница, 17 января 2014 г. пользователь Andrei Chevenkov написал:
>
>> Hi,
>>
>> I am pretty new to haproxy and trying to do ha setup for rabbitmq.
>>
>> Setup is pretyt simple:
>>
>> listen rabbitmq 192.168.69.106:5672
>>  mode    tcp
>>  balance leastconn
>>  option  tcplog
>>  option  tcpka
>>  server  rabbit01 192.168.69.107:5672 check inter 1000 downinter 5000
>> fall 1 on-error mark-down
>>  server  rabbit02 192.168.69.108:5672 check inter 1000 downinter 5000
>> fall 1 on-error mark-down backup
>>
>> Everything seems to work well, but I noticed one strange behaviour. If I
>> gracefully shut down rabbit01, message producer (client) connected to
>> 192.168.69.106:5672 notices broken connection pretty much straight away,
>> attempts a reconnect, hits rabbit02 and all is well.
>>
>> However if I simply "turn off" rabbit01, message producer (client)
>> notices broken connection only in around 30 seconds or so. And while the
>> break is undetected it keeps pushing messages thinking there is still
>> someone on another side.
>>
>> Now, from the statistic report I can see that as soon as I turn off the
>> box, rabbit01 is marked as "DOWN", but its "Sessions Current" is still set
>> to 1? In the logs this comes up pretty much immediately after the hard turn
>> off:
>>
>> Jan 17 17:13:51 prodlb01 haproxy[38459]: Server rabbitmq/rabbit01 is
>> DOWN, reason: Layer4 timeout, check duration: 1008ms. 0 active and 1 backup
>> servers left. Running on backup. 1 sessions active, 0 requeued, 0 remaining
>> in queue.
>>
>> After around 30 seconds, the connection is detected as broken and
>> failover happens successfully. At that time  "Sessions Current"  is set to
>> 0 fo rabbit01.
>>
>> Tried option  nolinger and option  abortonclose, but no luck.
>>
>> Any help would be much appreciated...
>>
>> Cheers,
>> Andrei
>>
>

Reply via email to