RabbitMQ群集是否也具有可扩展性?

时间:2016-04-21 10:13:55

标签: rabbitmq cluster-computing scalability

我想构建一个RabbitMQ系统,它可以为了性能而扩展。

我已经阅读了RabbitMQ Clustering的官方文档。但是,它的集群似乎不支持可伸缩性。这是因为只有通过主队列我们才能发布/使用,即使主队列可以从集群的任何节点访问。除了主队列所在的节点之外,我们无法处理任何发布/使用。

为什么我们会聚集呢?

2 个答案:

答案 0 :(得分:0)

  

为什么我们会聚集呢?

  • 确保可用性。
  • 强制执行数据复制。
  • 在不同节点上传播队列中的负载/数据。主队列可以存储在不同的节点上,并以一个因子<群集节点数。
  

除主队列所在的节点外,我们无法处理   任何发布/消费。

可以在群集的任何节点上连接客户端。该节点将“请求”传送到主队列节点,反之亦然。作为一个缺点,它将产生额外的跳跃。

答案 1 :(得分:0)

回答标题<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <div id="map-canvas"></div> <input id="pac-input" class="controls" type="text" placeholder="Search Box">中的问题 - 是的,这是通过简单地添加更多节点/从群集中删除一些节点来实现的。当然,您必须考虑高可用性 - 即队列和交换镜像等。
只是为了说清楚:

  

但是,它的群集似乎不支持可伸缩性。那是   因为只有通过主队列我们才能发布/消费,即使   主队列可以从群集的任何节点访问。

发布完成交换,队列与发布无关。发布客户端仅发布到交换和路由密钥。它不需要任何有关队列的知识。