ActiveMQ Artemis 系列| High Availability 主备模式(消息复制) 版本2.19.1

一、ActiveMQ Artemis 介绍

Apache ActiveMQ Artemis 是一个高性能的开源消息代理,它完全符合 Java Message Service (JMS) 2.0 规范,并支持多种通信协议,包括 AMQP、MQTT、STOMP 和 OpenWire 等。ActiveMQ Artemis 由 Apache Software Foundation 开发和维护,旨在提供可靠的消息传递解决方案,适用于各种异步通信场景。

共享存储

共享存储是由master/slave对组成,指两个实例保存消息的目录相同,且一个是master,另一个是slave,同一时间只有一个实例对外提供服务,这个实例就是master。当master down机时,slave就会接手,变成master。由于使用的目录保存消息,因此slave启用时,消息不会丢失。

消息复制

消息复制同样是由master/slave对组成,是指slave实例复制其master实例上的消息,因此slave实例有master实例上的消息的备份。当master down机,则slave变成master,由于消息之前已进行过复制,因此消息不会丢失。

slave(backup) 端会实时同步master(live)端发送来的数据,如果master端挂了,则backup端会变成master(live)如果之前的master端恢复了,则这个恢复的master端会成为backup端.

二、部署

2.33.0版本 主从配置直通车

版本:apache-artemis-2.19.1

官网下载

https://activemq.apache.org/components/artemis/download/

master: 10.10.101.127

slave: 10.10.101.128

创建实例目录/root/broker

mdkir /root/broker

1.master 上运行如下命令:

复制代码
./artemis create --host 10.10.101.127 --http-port 8161 --user admin --password admin --relax-jolokia --require-login --replicated --clustered master --staticCluster "tcp://10.10.101.128:61616" /root/broker  --name master --cluster-user admin --cluster-password admin

2.slave上运行如下命令:

复制代码
./artemis create --host 10.10.101.128 --http-port 8161 --user admin --password admin --relax-jolokia --require-login --replicated --clustered --slave --staticCluster "tcp://10.10.101.127:61616" /root/broker --name slave --cluster-user admin --cluster-password admin

3.修改/root/broker/etc/bootstrap.xml为如下(两边都要)

4.修改/root/broker/etc/jolokia-access.xml为如下(两边都要)

5.master节点上修改/root/broker/etc/broker.xml为如下

复制代码
      <ha-policy>
         <replication>
            <master>
               <vote-on-replication-failure>true</vote-on-replication-failure>
               <check-for-live-server>true</check-for-live-server>
            </master>
         </replication>
      </ha-policy>

6.slave节点上修改/root/broker/etc/broker.xml为如下:

复制代码
      <ha-policy>
         <replication>
            <slave>
            </slave>
         </replication>
      </ha-policy>

8.先启动master再启动slave

/root/broker/bin/artemis run

启动slave时,可以看到如下log就说明slave是处于backup状态

9.master节点的web界面上查看状态

9.slave节点的web界面上查看状态

相关推荐
学习HCIA的小白15 天前
ActiveMQ
activemq
代码的余温19 天前
ActiveMQ多消费者负载均衡优化指南
java·后端·负载均衡·activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 高级特性:延迟消息与优先级队列实战(一)
activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 高级特性:延迟消息与优先级队列实战(二)
activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 生产环境问题排查与调优指南(一)
activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 源码剖析:消息存储与通信协议实现(四)
activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 源码剖析:消息存储与通信协议实现(一)
activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 源码剖析:消息存储与通信协议实现(二)
java·activemq·java-activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 安全机制与企业级实践(一)
安全·activemq
计算机毕设定制辅导-无忧学长1 个月前
ActiveMQ 性能优化与网络配置实战(一)
网络·性能优化·activemq