【发布时间】:2015-09-24 03:48:47
【问题描述】:
不得不说官网提供的信息太少,无法清晰理解RabbitMQ。
官网建议使用三个节点搭建集群。这是什么原因?我想它就像 ZooKeeper,需要奇数个节点来进行仲裁并选举主节点。
另外,使用非 HA 集群有什么优势?提高性能还是什么?如果队列所在的节点宕机,则队列不工作。那么对于所有情况,是否需要将集群设置为镜像队列并自动同步?
【问题讨论】:
标签: rabbitmq
不得不说官网提供的信息太少,无法清晰理解RabbitMQ。
官网建议使用三个节点搭建集群。这是什么原因?我想它就像 ZooKeeper,需要奇数个节点来进行仲裁并选举主节点。
另外,使用非 HA 集群有什么优势?提高性能还是什么?如果队列所在的节点宕机,则队列不工作。那么对于所有情况,是否需要将集群设置为镜像队列并自动同步?
【问题讨论】:
标签: rabbitmq
三个节点是具有合理 HA 的最低要求。 假设你有一个队列镜像在两个节点中,如果一个节点宕机,另一个节点将被提升为新的从节点或主节点。
请阅读here部分自动处理分区和部分更多关于暂停少数模式
因此在主机上启用暂停少数模式不是一个好主意 两个节点的集群,因为在任何网络分区或 节点故障,两个节点都会暂停
RabbitMQ 可以以不同的方式处理集群,具体取决于您部署它的位置 - LAN 或 WAN 或不稳定的 LAN 等。您还可以使用 federation、shovel
使用非 HA 集群有什么优势?提高性能还是什么?
我会说是的,或者只是你有一个不需要 HA 队列的环境,因为你只能有临时队列。
是否需要将集群设置为镜像队列和自动同步?
您也可以选择manual-sync,因为当您同步队列时,队列被阻止,如果您有很多消息要同步,这可能是个问题。例如,您可以决定在没有流量时同步队列。
Here(Unsynchronised Slaves部分)解释清楚了。
你的问题有点笼统,这取决于你在寻找什么。
【讨论】: