ActiveMQ集群

Love The Way You Lie 2022-05-31 03:16 296阅读 0赞

ActiveMQ集群

1.1 何为集群?

集群就是将相同的程序、功能,部署在两台或多台服务器上,这些服务器对外提供的功能是完全一样的。通过不断横向扩展增加服务器的方式,以提高服务的能力 。

1.1.1 不集群模式

SouthEast

1.1.2 集群模式

SouthEast 1

1.2 集群的优势:

1、集群可以解决单点故障问题;

2、集群可以提高系统服务能力;

1.3 ActiveMQ集群方式

  1. 1.shared filesystem Master-Slave方式主从集群
  • 通过共享存储目录(kahaDB)来实现master和slave的主从信息备份;
  • 所有ActiveMQ的broker都在不断地获取共享目录的控制权,哪个broker抢到了控制权,它就成为master,它将锁定该目 录,其他broker就只能成为slave;
  • 当master主出现故障后,剩下的slave从将再进行争夺共享目录的控制权,谁抢到共享目录的控制权,谁就成为主;
  • 由于他们是基于共享目录,所以当主出现故障后,其上没有被消费的消息在接下来产生的新的master主中可以继续进行 消费;
  • SouthEast 2
  1. 2.shared database Master-Slave方式主从集群
  2. 该方式与shared filesystem方式类似,只是共享的存储介质由文件系统改成了数据库。
  3. ![SouthEast 3][]

3.Replicated LevelDB Store方式集群

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

发表评论

表情:
评论列表 (有 0 条评论,296人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ActiveMQ

    ActiveMQ集群 1.1 何为集群? 集群就是将相同的程序、功能,部署在两台或多台服务器上,这些服务器对外提供的功能是完全一样的。通过不断横向扩展增加服务器的