设置策略方法例如我们将满足规则“*_mirrored_queue”的队列设置为镜像队列。-mode":所有满足"all"}'后应用的"*_mirrored_queue"规则的队列都是镜像队列如果不设置该策略,则声明队列(queue_declare方法)时使用x-ha-policy参数设置的镜像队列无效。设置policy正则规则,不要使用x-ha-policy参数,只要满足正则规则的队列就会自动成为镜像队列,(很多博客解释队列的x-ha-policy参数是用于设置镜像队列,不指定策略规则需要提前创建)。Rabbitmq文档:镜像队列的同步机制当一个队列被声明为镜像队列,并且ha-mode:all时,集群中的所有节点都会有一个队列的镜像。当队列已经有一些数据时,在集群中添加一个队列新节点,新节点加入集群后,会自动创建队列的镜像,但是队列之前还有数据。这些数据是立即同步到新节点还是手动同步,此时需要镜像队列同步机制的queue_declare()方法中的arg参数中有这样的配置:ha-sync-modemanual手动同步|automatic自动同步提示:当一个队列在同步时,所有改变队列的操作都会被阻塞,因为各种原因可能会阻塞几分钟、几小时甚至几天。(所以队列同步需要谨慎)
