performance - 如何使RabbitMQ具有可扩展性?

标签 performance rabbitmq cluster-computing load-balancing scalability

我尝试测试RabbitMQ,但是发现rabbitmq有一些问题:
如果我创建了一个由 3 个节点组成的集群,我发布/交付的速度不能超过 6000/s。
另一方面,如果我使用一个节点,我可以发布/交付到 25000/s。
这意味着,我添加的节点越多,性能就越差。

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

他们可以发布超过 100 万个,那么他们如何做到这一点?
我想让RabbitMQ每秒处理超过100万条消息

最佳答案

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

关于performance - 如何使RabbitMQ具有可扩展性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650061/

相关文章:

从 amqp 客户端到 rabbitmq 服务器的 Java 8 SSL 握手失败

node.js - 如何解决 amqplib Channel#consume 奇怪的签名?

service - 本地计算机上的 Datastax cassandra 社区服务器 2.1.10 服务启动然后停止

sql-server - 我希望以更可控制的方式表达这个条件

python - Python 实现如何处理函数调用期间的上下文交换?

c++ - 如何增强 C++ 数组在大规模访问时的性能

c++ - 类似于 C++ 的并行 Python?

python - 谁能教我如何进一步优化这个 'print up to the nth prime number' 脚本?

java - RabbitMQ,话题交流

virtualization - 在简单的桌面上模拟计算机集群以测试并行算法