消息队列-ActiveMQ集群搭建

  • Post author:
  • Post category:其他




主备集群



Shared File System Master Slave

自动主备切换,提供broker节点高可用(activemq没有提供数据高可用,需要运维自己实现,消息副本官方文档:http://activemq.apache.org/replicated-message-store)

conf/activemq.xml

brokerName="amq1"
<transportConnector uri消息端口不要重复

mysql持久化:配置相同数据源
kahadb持久化集群:<kahaDB directory="${activemq.data}/kahadb"/> 各个节点要配置成同一地址

各自启动即可。

基于共享存储的Master-Slave;多个broker共用同一数据源,谁拿到锁谁就是master,其他处于待启动状态,如果master挂掉了,某个抢到文件锁的slave变成master


启动


在这里插入图片描述


宕机


在这里插入图片描述


broker重启


在这里插入图片描述


JDBC Master slave


基于JDBC的Master-Slave:使用同一个数据库,拿到LOCK表的写锁的broker成为master.

性能较低,不能使用高性能日志



负载均衡

在这里插入图片描述

//静态配置
//activemq broker下加,所有的集群broker都要加。注意各个broker互相之间的消息端口和控制台端口不能一致
<networkConnectors>
  <networkConnector duplex="true" name="amq-cluster" uri="static:failover://(nio://localhost:5671,nio://localhost:5672)"  />
</networkConnectors>
//可能有权限校验问题,暂时记录注释掉simpleAuthenticationPlugin
//动态配置
<networkConnector uri="multicast://239.0.0.5" duplex="false"/>
//消息传播方式加:discoveryUri="multicast://239.0.0.5



版权声明:本文为RaymondCoder原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。