rabbitmq-website
rabbitmq-website copied to clipboard
Documentation of best practice of separate connections for publishers/consumers
https://groups.google.com/d/msg/rabbitmq-c-users/T14SxGbAxxw/OdyTzFlnBAAJ
Hi Alan,
Yes, since the consumers and publishers share the TCP socket.
https://www.cloudamqp.com/blog/2017-12-29-part1-rabbitmq-best-practice.html#separate-connections-for-publisher-and-consumer
https://www.cloudamqp.com/blog/2018-01-19-part4-rabbitmq-13-common-errors.html
https://www.rabbitmq.com/connections.html#flow-control
To be honest this best practice isn't called out like it should be in the docs. I'll open an issue to address that.
Thanks, Luke
On Wednesday, June 10, 2020 at 10:03:00 AM UTC-7, Alan Antonuk wrote: Interesting. So this is still a recommendation even if the client correctly implements the https://www.rabbitmq.com/connection-blocked.html extension?
-Alan
On Wed, Jun 10, 2020 at 9:06 AM Luke Bakken [email protected] wrote: Hi everyone,
I'd like to add that for all client libraries using separate connections for publishing and consuming is a best practice.
The reason being that if RabbitMQ begins throttling publishers due to too much load, it does so by blocking reads on that TCP connection. If consumers are also on that connection, they can't proceed and drain queues.