vlambda博客
学习文章列表

高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案


高并发中间件5-Activemq高可用集群方案




Master-slave模式



Master-Slave集群由至少3个节点组成,一个Master节点,其他为Slave节点。只有Master节点对外提供服务,Slave节点处于等待状态。当主节点宕机后,从节点会推举出一个节点出来成为新的Master节点,继续提供服务。

Master-Slave模式的部署方式,主要分为三种:

  • Shared Filesystem Master-Slave方式,如KahaDB,应用灵活、高效且安全。

  • Shared Database Master-Slave方式,基于共享数据库,跟第一种类似,性能会受限于数据库。

  • Replicated LevelDB Store方式,基于zookeeper + leveldb。是生产环境常用的方案。

Broker-Cluster模式

Broker-Cluster部署方式中,各个broker通过网络互相连接,自动分发调用端请求,从而实现集群的负载均衡。Broker-Cluster集群连接到网络代理的方式,主要分为静态网络代理、动态网络代理,不同的网络代理方式也对应了不同的集群部署方式:

  • static Broker-Cluster

  • Dynamic Broker-Cluster
    在实际应用场景中static Broker-Cluster被大量使用。


Master-Slave集群的优点是可以解决多服务热备的高可用问题,但缺点是无法解决负载均衡和分布式的问题。Broker-Cluster集群的优点是可以解决负载均衡和分布式的问题,但不支持高可用。
因此,把Master-Slave和Broker-Cluster两者相结合,就可以得到一个完美的解决方案:即又可以做到集群负载均衡又可以做到任何一个broker如果发生宕机,也不会影响提供服务,节点消息也不会“丢失”。