【发布时间】:2019-07-23 13:00:29
【问题描述】:
我有一个交换器,只有一个队列绑定到它。当消息发布速率超过某个上限时,rabbitmq 会自动限制传入消息速率。
经过进一步调查,我发现这是由于 rabbitmq 中内置的“流量控制”机制造成的。 https://www.rabbitmq.com/blog/2014/04/14/finding-bottlenecks-with-rabbitmq-3-3/
根据本文档,我有连接,流控制中的通道而不是队列。这意味着存在 cpu-bound/disk-bound 限制。
我的消息不是持久的,所以我没有磁盘限制。在搜索时,我发现说明队列仅限于单个 cpu 的文档。 https://groups.google.com/forum/#!msg/rabbitmq-users/wzHMV7F0ugU/zhW_9b8ACQAJ
这是什么意思? rabbitmq 队列进程是否仅使用 1 个 cpu,即使机器中有多个内核可用? cpu 在队列流控制方面的限制是什么?
【问题讨论】:
标签: rabbitmq rabbitmq-exchange flow-control