如何使RabbitMQ可扩展?

时间:2016-04-15 14:35:31

标签: performance rabbitmq cluster-computing load-balancing scalability

我试过测试RabbitMQ,但我发现rabbitmq有一些问题: 如果我创建了一个包含3个节点的集群,那么我无法发布/交付超过6000个/秒的节点。 另一方面,如果我使用单个节点,我可以发布/交付直到25000 / s。 这意味着,更多的是我添加节点,更多的性能正在恶化。

但是从这篇文章:https://blog.pivotal.io/pivotal/products/rabbitmq-hits-one-million-messages-per-second-on-google-compute-engine

他们可以发布超过100万,那么他们怎么做呢? 我想让RabbitMQ处理每秒超过100万条消息

2 个答案:

答案 0 :(得分:4)

我通过添加负载均衡器解决了这个问题。 生产者将数据发送到负载均衡器。另一方面,负载均衡器id连接到rabbitmq的许多节点,但这些节点之间没有连接(以避免影响性能的同步)。 因此,通过这种方式,我可以增加吞吐量(例如:3个节点= 3倍吞吐量)。

答案 1 :(得分:0)

可能取决于其他因素,例如您的网络或硬件性能。

阅读基准时,请始终考虑测试周围的环境

至于如何提高性能,如果这是限制因素,您可以改善硬件或网络。

考虑切换到SSD或使用网络上的链接聚合将是一个良好的开端。