ActiveMQ的集群方案(二)

前一篇中写了一些ActiveMQ基本的集群搭建,此篇打算写一些我参与搭建过的ActiveMQ的集群方案,如果不好求轻喷。

1.读写分离+全局Broker集群方案

架构图:


这种架构情况下,两个hub提供写入,且组成一个failover集群,三个broker组成一个读的集群

broker-hub1的配置:

<networkConnectors>
<networkConnector uri="static:(tcp://192.168.13.12:61616,tcp://192.168.13.13:61616,tcp://192.168.13.14:61616,tcp://192.168.13.15:61666)" duplex="true"/> 
</networkConnectors>

然后更改brokerName

broker-hub2的配置:
<networkConnectors>
<networkConnector uri="static:(tcp://192.168.13.13:61616,tcp://192.168.13.14:61616,tcp://192.168.13.15:61666)" duplex="true"/> 
</networkConnectors>
然后更改brokerName

broker1-3配置:

只需更改brokerName

最后启动5个节点,运行上一篇文章中程序【更改ip地址】,即可测试。

个人认为此种解决方案,适合于对数据丢失可以容忍的轻快下,比如抢购排队的厂家下可以考虑。因为这种场景依旧会出现上篇文章中提到的丢数据问题。


2 读写分离+Master Slave+Broker cluster


左边用的是Master+Slave的高可用集群,然后右边的读集群用的Broker Cluster。

配置如下:

在Master Slave的集群配置下,在Master和每天Slave中加入

<networkConnectors>
<networkConnector uri="static:(tcp://192.168.13.14:61616,tcp://192.168.13.15:61616,tcp://192.168.13.15:61666)" duplex="true"/> 
</networkConnectors>
起到Broker1-3可以读取Master Slave集群的数据

Broker1-3只需更改BrokerName即可。

这种架构的情况下使用起来较为灵活,如果需要大量的并发写入,可以向三个Broker写入,然后Master Slave充当一个中转站的角色。如果要写入不可丢失的数据,则可以向Master Slave集群中写入,虽说性能不高,但是比较安全。


吐槽一下,网上有很多关于两个Master Slave组一个读写集群,个人认为那个不太实用,至于为什么,可以自己实践一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值