Java消息中间件学习笔记八 -- ActiveMQ集群

为什么要对消息中间件集群?

  • 实现高可用,以排除单点故障引起的服务中断。
  • 实现负载均衡,以提升效率为更多的客户提供服务。

ActiveMQ集群的基础知识

集群方式
  • 客户端集群:让多个消费者消费同一个队列
  • Broker Clusters:多个broker之间同步消息
  • Master Slave:实现高可用
客户端配置
ActiveMQ失效转移(failover)

允许当其中一台消息服务器宕机时,客户端在传输层上重新连接其他消息服务器。

语法:failover:(uri1,...,uriN)?transportOptions
uri: 消息服务器的地址
transportOptions 参数说明:
* randomize 默认为 true ,表示在URI列表中选择URL连接时是否采用随机策略。
* initialReconnectDelay 默认为10,单位为毫秒,表示一次尝试重连之间等待的时间。
* maxReconnectDelay 默认 30000,单位毫秒,最长重连的时间间隔。

Broker Clusters集群配置
原理

这里写图片描述

NetworkConnection (网络连接器)

网络连接器主要用于配置ActiveMQ服务器与服务器之间的网络通讯方式,用于服务器透传信息。
网络连接器分为静态连接器和动态连接器。
* 静态连接器

<networkConnections>
    <networkConnection uri="static:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61618)"/> 
</networkConnection>
  • 动态连接器
<!-- 网络连接器 -->
<networkConnections>
    <networkConnection uri="multicast://default"/> 
</networkConnection>
<!-- 传输连接器 -->
<transprotConnectors>
    <transprotConnector uri="tcp://localhost:0" discoveryUri="multicast://default" />
</transprotConnectors>

静态连接器过于局限,动态连接器可随意扩展服务器连接。

Master/Slave 集群配置
ActiveMQ Master Slave 集群方案
  • Share nothing storage master/slave (已过时 5.8+后移除)
  • Share storage master/slave 共享存储
  • Replicated LevelDB Store 基于复制的 LevelDB Store

关于它们之间的区别和特点:ActiveMQ与HA架构(master/slave)

这里写图片描述

有没有集群方式既能做到高可用,又能负载均衡呢?

三台服务器的完美集群方案

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值