一、ActiveMQ Artemis 介绍
Apache ActiveMQ Artemis 是一个高性能的开源消息代理,它完全符合 Java Message Service (JMS) 2.0 规范,并支持多种通信协议,包括 AMQP、MQTT、STOMP 和 OpenWire 等。ActiveMQ Artemis 由 Apache Software Foundation 开发和维护,旨在提供可靠的消息传递解决方案,适用于各种异步通信场景。
High Availability :
共享存储
共享存储是由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端.
二、部署
1、创建实例
版本:apache-artemis-2.33.0
官网下载
https://activemq.apache.org/components/artemis/download/
下载后解压进入artemis/bin 创建实例 (broker)
/root/artemis/bin
./artemis create broker
根据提示设置用户名密码,允许匿名访问 Y
2、更改实例配置
进入/root/artemis/bin/broker/etc
artemismaster是主节点地址
artemisslave是从节点地址
master的broker.xml
<connectors>
<!-- Connector used to be announced through cluster connections and notifications -->
<connector name="artemis">tcp://artemismaster:61616</connector>
<connector name="node0">tcp://artemisslave:61616</connector>