MQ消息队列高可用性-创新互联

RabbitMQ的高可用性

目前累计服务客户上1000家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站建设、网站设计、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

RabbitMQ是比较有代表性的,因为是基于主从(非分布式)做高可用性的。RabbitMQ有三种模式:单机模式、普通集群模式、镜像集群模式。

单机模式,Demo级别的,一般就是本地demo,没人生产用单机模式。

普通集群模式(无高可用性)就是在多台机器上启动多个RabbitMQ实例,每台机器启动一个。创建的 queue,只会放在一个RabbitMQ实例上,但是每个实例都同步 queue 的元数据(元数据可以认为是 queue 的一些配置信息,通过元数据,可以找到 queue 所在实例)。消费的时候,如果连接到了另外一个实例,那么那个实例会从 queue 所在实例上拉取数据过来。这种没做到所谓的分布式,就是个普通集群。导致要么消费者每次随机连接一个实例然后拉取数据,要么固定连接那个 queue 所在实例消费数据,前者有数据拉取的开销,后者导致单实例性能瓶颈。而且如果那个放 queue 的实例宕机了,会导致接下来其他实例就无法从那个实例拉取,如果你开启了消息持久化,让 RabbitMQ 落地存储消息的话,消息不一定会丢,得等这个实例恢复了,然后才可以继续从这个 queue 拉取数据。所以这个没有什么所谓的高可用性,这方案主要是提高吞吐量的,就是让集群中多个节点来服务某个 queue 的读写操作。

镜像集群模式(高可用性)这种模式,才是所谓的 RabbitMQ 的高可用模式。跟普通集群模式不一样的是,在镜像集群模式下,你创建的 queue,无论是元数据还是 queue 里的消息都会存在于多个实例上,就是说,每个 RabbitMQ 节点都有这个 queue

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:MQ消息队列高可用性-创新互联
文章地址:http://cdiso.cn/article/iiicp.html

其他资讯