RabbitMQ 普通队列与镜像队列


RabbitMQ中队列有两种模式

  1.默认  Default 

  2.镜像  Mirror  【类似于mongoDB,从一直在通过主的操作日志来进行同步】

*如果将队列定义为镜像模式,那么这个队列也将区分主从,从而做到了队列高可用。【通过一个master(主)和多个slave(从)组成】,消息发布到队列中将被复制到所有从节点上。消费者连接到主节点上。

 

如何配置镜像队列

  只能通过policy进行配置  eg:

    1.  

rabbitmqctl set_policy ha-all "^ha\." '{"ha-mode":"all"}'

  ha-all:策略名称  

  ^ha\.:队列名正则表达式

在所有的node中进行同步,也就是主的消息同步到所有从中。

  

 

 

 

 *  如果其中某一个节点挂掉了,再重启的时候,node的数据是不会再同步的。

  解决办法:将ha-sync-mode设置为automatic【自动同步】

      rabbitmqctl sync_queue name  【手动同步】


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM