[rabbitmq-discuss] RabbitMQ behind a balancer and Flow Control
Simon MacMullen
simon at rabbitmq.com
Thu Jan 31 10:50:56 GMT 2013
On 31/01/13 08:27, Konstantin wrote:
> considering a setup with more than 10 rabbitmq servers behind a balancer.
> Does the flow control feature still makes sense here?
Yes - flow control is there to protect individual servers from
whatever's upstream of them, even if that's a load balancer.
> My problem is, that producers are blocked even there is another server with
> a lot of free ram which he can use. Is there a way to check from outside if
> rabbitmq will block new requests so the balancer will notice that this one
> server is not available at the moment?
Yes, you can check with rabbitmqctl or management. With rabbitmqctl,
invoke "rabbitmqctl status" then compare the value for {memory, [{total,
...}]} against vm_memory_limit, and disk_free against disk_free_limit.
With management, request something like
$ curl -i -u guest:guest \
http://localhost:15672/api/nodes?columns=name,mem_alarm,disk_free_alarm
to get the alarm statuses directly.
you can check per-connection flow control as well via ctl or mgmt, but
you wouldn't really want to - just because one connection is rate
limited doesn't mean others will be.
> Or can I configure this directly on
> the rabbitmq server so that the tcp port is closed if the server is "full"?
No, you can't.
Cheers, Simon
--
Simon MacMullen
RabbitMQ, VMware
More information about the rabbitmq-discuss
mailing list