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界面上查看状态

相关推荐
吃西瓜的星星2 天前
从0开始完成ActiveMQ-cpp在windows_x86平台的编译(从编译openssl开始)
activemq·openssl·c/c++
b***748815 天前
2025年前端开发新方向预测
剪枝·activemq·argocd
ANYOLY21 天前
ActiveMQ 核心知识点
activemq
原来是好奇心22 天前
消息队列终极选型:RabbitMQ、RocketMQ、Kafka与ActiveMQ深度对比
分布式·kafka·rabbitmq·rocketmq·activemq·mq
你想考研啊1 个月前
Linux下搭建Activemq的Master-Slave(共享文件模式)
linux·运维·activemq
好玩的Matlab(NCEPU)1 个月前
消息队列RabbitMQ、Kafka、ActiveMQ 、Redis、 ZeroMQ、Apache Pulsar对比和如何使用
kafka·rabbitmq·activemq
埃泽漫笔2 个月前
Kafka、ActiveMQ、RabbitMQ、RocketMQ 对比
kafka·rabbitmq·activemq
小池先生2 个月前
activemq延迟消息变成实时收到了?
linux·数据库·activemq
clownAdam3 个月前
ActiveMQ classic ,artemis ,artemis console ,nms clients,cms client详解
activemq
百思可瑞教育3 个月前
ActiveMQ、RocketMQ、RabbitMQ、Kafka 的全面对比分析
vue.js·分布式·rabbitmq·rocketmq·activemq·北京百思可瑞教育·百思可瑞教育