热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RabbitMqCluster和HighAvailability

RabbitMq简介RabbitMqexchange四种方式RabbitMqConsumer和Producer端使用RabbitMq确认机制RabbitMqCluster和High
  • RabbitMq简介
  • RabbitMq exchange四种方式
  • RabbitMq Consumer和Producer端使用
  • RabbitMq确认机制
  • RabbitMq Cluster 和 High Availability


一、RabbitMq Cluster

 

 


  • 所有节点两两相连
  • users, virtual hosts, exchanges, bindings,queue metadata会自动镜像到所有Node
  • 连接任意一个Node都能看到集群中的所有Queue
  • 在集群中的所有节点必须是相同的Erlang COOKIE
  • Queue消息只在一个节点中存储
  • 如果Consumer连接Node2,获取Queue1消息,Node2会从Node1获取消息然后返回给Consumer


二、RabbitMq High Availability

 


  • 镜像队列包括一个Master和多个Mirrors,如果Master挂掉时,最老的Mirror晋升为Master,还没有从Master复制到Mirrors的消息会丢失
  • Consumer连接到Mirror节点时会让Consumer重定向到Master,Consumer最终只和Master交互,这样保证了消息的先进先出
  • 镜像队列只是提升了高可用性,没有分担负载
  • 新晋升的Master会把没有收到ack的消息重新放入队列,包括旧Master没有收到的ack消息,Master收到ack,但是就是Master广播到Mirrors时丢失ack的消息。所以Consumer可能会收到重复消息
     

推荐阅读
author-avatar
淡漠初夏0_176
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有