ActiveMQ集群
分类:
文章
•
2024-11-21 19:34:03
为什么要使用中间件集群
- 实现高可用,以排除单点故障引起的服务中断
- 实现负载均衡,以提升效率为更多的用户提供服务
ActiveMQ集群方式
- 客户端集群
- Broker Clusters:多个broker之间的同步消息
- Master Slaver :实现高可用
客户端配置
- ActiveMQ失效转移:
- 允许当其中的一台消息服务器宕机的时候,客户端在传输层上重新连接其他消息服务器
- 语法:failover:(uri1,…,uriN)?transportOptions
- uri :消息服务器的地址
- transportOptions 参数说明:
- fandomize 默认是true,表示在uri列表中选择url连接时是否采用随机策略
- initialReconnectDelay 默认为10,单位为毫秒,表示一次尝试重连之间等待的时间。
- maxReconnectDelay 默认 30000,单位毫秒,最长重连的时间间隔。
Broker Clusters
- 原理
- NetWork Connection
- 网络连接器主要用于配置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

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