I'm having the following setup running:
- cluster of Rabbitmq 3.6.6, Erlang 19.2
- one topic exchange
- multiple durable queues (due to different bindings)
I'm running multiple consumers to one of the durable queues and the connections are being dropped by the broker after some time (or when there is a huge amount of msgs to be handled):
=ERROR REPORT==== 29-Sep-2017::07:16:08 === closing AMQP connection <0.31204.228> (10.44.2.243:50838 -> 10.44.3.238:5672): missed heartbeats from the client, timeout: 10s
The connections are created with the PHP library of RabbitMQ (see https://github.com/php-amqplib/php-amqplib) and are initiated with the following settings:
- connection timeout: 3.0
- read_write_timeout: 20
- heartbeat: 10
- keepalive: true
The strange thing that is that consumer doesn't recognize the connection drop and pretends everything is fine and thus not triggering a reboot by kubernetes.
Am I using the right settings values for the connections? I'm quite lost in why the consumers are being dropped by the broker.
Besides that, I'm running a normal queue as well with three workers (so the work queue type of rabbitmq) and these are running with prefetch count equal to one, same settings for the connection and are not being dropped by the broker.
Any help would be appreciated into understanding/resolving the issue!
Kind regards, Ward