ActiveMQ(三)

高可用的方案

上一节中说的networkConnector是一个高性能的方案,但并不是一个高可用的方案。

原因是在networkConnector这种方案下,broker节点有消费者,消息才会转移到该broker,否则只会停留在生产者对应的某个broker。若这个broker挂掉了,就不能保证消息即时消费。

高可用的方案(zookeeper+activemq)2n+1

1,前置条件:

2,搭建activemq集成到zk。

准备3台服务器(254.128,254.132,254.134)

取消之前配置的静态网络连接

搭建zk分布式,这里不详细展开。leader(128) ,follower(132),observer(134)

将activemq的安装包上传到各个服务器。

修改activemq的配置conf/activemq.xml文件

directory="$/levelDB"

replicas="2"

bind="tcp://0.0.0.0:61615"

zkAddress="192.168.254.128,192.168.254.134,192.168.254.132"

hostname="192.168.254.132"

zkPath="/activemq/leveldb"/>

顺序启动各个服务器上activemq,然后打开zk的客户端查看是否存在节点(都是临时节点,ephemeralOwner有sessionId值)。

此时查看activemq的master节点,根据zk的节点可以判断000000000节点对应的是mq的master节点,访问:http://192.168.254.128:8161(其他节点是访问不到的。只要master挂掉后,才会选取新的节点对外提供服务。)

停止128服务器后,选举132为master

其他的主从方案

1,jdbc存储(基于LOCK锁表的操作来实现master/slave)

2,基于共享文件系统的主从方案(挂载网络磁盘,将数据文件保存到指定磁盘上即可完成master/slave模式)

主备

监控 - hawtio 略

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180526G0RYJ800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券