我已经设置了一个 RabbitMQ 集群,并且正在按照文档设置镜像队列(高可用性队列)。 它说:
通过将 ha-sync-mode 策略键设置为 automatic,可以将队列设置为自动同步。ha-sync-mode 也可以设置为 manual。如果未设置,则假定为 manual。
为什么默认设置是手动同步?手动同步有哪些用例?
同时,我使用了:
rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'
答案1
刚刚阅读了提供的链接,看到了这个条款,它可能解释了为什么“手动”是默认的,并突出显示了重要部分:
显式同步可以通过两种方式触发:手动或自动。如果将队列设置为自动同步,则每当有新的从属设备加入时,它都会进行同步 -变得反应迟钝直到它这样做为止。
因此,自动同步将使队列在一段时间内无响应,这可能不是好事,具体取决于队列的使用情况。而且,只要有新的从属加入,就会发生自动同步。如果有大量从属加入,则队列将在相当长的一段时间内无响应,除非队列相当空或网络非常快。