activemq+zookeeper集群+可复制LevelDB存储

在ActiveMQ 5.9中,引入了复制LevelDB存储。它处理使用Apache ZooKeeper从一组配置为复制单个LevelDB存储的代理节点中选择一个主服务器。然后将所有从属LevelDB存储与主数据库同步,通过将所有更新复制到主数据库,从而使它们保持最新状态。这可能会成为首选的主从配置。

 MasterSlave

主/从简介

以下是可用的不同类型的主/从配置:

 如果使用的是SAN等共享网络文件系统,则建议使用Shared File System Master Slave。如果您乐于放弃高性能期刊,并使用纯JDBC作为持久性引擎,则应该改用JDBC Master Slave。对于那些愿意尝试新技术的人,“ 复制LevelDB存储”提供了类似于SAN解决方案的速度,而无需设置高可用性共享文件系统。

原理

 伪集群

zookeeper集群搭建参考另一博客:https://blog.csdn.net/qq_39720208/article/details/102891587 

 创建mq三个节点

 

修改控制台端口

 linux域名映射

 修改三个节点的brokerName一致

 

 持久化配置

参考官网配置

<broker brokerName="broker" ... >
  ...
  <persistenceAdapter>
    <replicatedLevelDB
      directory="activemq-data"
      replicas="3"
      bind="tcp://0.0.0.0:0"
      zkAddress="zoo1.example.org:2181,zoo2.example.org:2181,zoo3.example.org:2181"
      zkPassword="password"
      zkPath="/activemq/leveldb-stores"
      hostname="broker1.example.org"
      />
  </persistenceAdapter>
  ...
</broker>

 

 

 依次修改消息端口

1节点默认

 

 创建zookeeper集群shell脚本

 mq集群启动shell脚本

 查看zookeeper启动

 客户端启动成功查看mq是否在zookeeper中

 

 

查看master

 

 

 

   

说明只能访问主节点 ,控制台输入ip:8161能进行访问,其他两个slave节点无法访问控制台

 

代码测试

说明消息发送到主节点

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章