ActiveMQ集群

ActiveMQ集群

1.1 何为集群?
集群就是将相同的程序、功能,部署在两台或多台服务器上,这些服务器对外提供的功能是彻底同样的。经过不断横向扩展增长服务器的方式,以提升服务的能力

1.1.1 不集群模式


1.1.2 集群模式


1.2 集群的优点:算法

 一、集群能够解决单点故障问题;数据库

  二、集群能够提升系统服务能力;服务器


1.3 ActiveMQ集群方式


          1.shared filesystem Master-Slave方式主从集群
性能

  • 经过共享存储目录(kahaDB)来实现master和slave的主从信息备份;
  • 全部ActiveMQ的broker都在不断地获取共享目录的控制权,哪一个broker抢到了控制权,它就成为master,它将锁定该目           录,其余broker就只能成为slave;
  • 当master主出现故障后,剩下的slave从将再进行争夺共享目录的控制权,谁抢到共享目录的控制权,谁就成为主;
  • 因为他们是基于共享目录,因此当主出现故障后,其上没有被消费的消息在接下来产生的新的master主中能够继续进行            消费;
  •                                      

       2.shared database Master-Slave方式主从集群
         该方式与shared filesystem方式相似,只是共享的存储介质由文件系统改为了数据库。
                                 

    

   3.Replicated LevelDB Store方式集群
spa

  • 基于可复制的LevelDB存储方式的集群
  • 这种集群方式是ActiveMQ5.9之后才新增的特性,它使用ZooKeeper从一组broker中协调选择一个broker做为master,其           他broker转入slave模式;
  • 全部slave从节点经过复制master主节点的消息来实现信息同步,当主出现故障后,没有被消费的消息在从服务器上也同           步了一份,因此不会有信息的丢失;
  • LevelDB 是 Google开发的一套用于持久化数据的高性能类库,ActiveMQ利用该类库进行数据的存储;
  • 只有master 接受客户端链接,slave不接受客户端链接;
  • Master的全部存储操做都将被复制到slaves;
  • 在这个模式中,须要有半数以上的broker是正常的,集群才是可用的,超过半数broker故障,zookeeper的选举算法将不            能选择master,从而致使集群不可用;
  •