activemq--MASTER SLAVE+BROKER CLUSTER 实践(二)


鱼与熊掌兼得法-完美解决方案


我们知道:


  • master/slave模式下,消息会被逐个复制
  • 而cluster模式下,请求会被自动派发


那么可不可以把两者集成起来呢?答案是有的,网上所谓的独创。。。统统是错的!!对,因为我全试验过了我敢这么説,写得都是些个啥呀。。。一个个还COPY不走样,全错了而且。


我这个才叫独创,来看原理。




MASTER SLAVE+BROKER CLUSTER的搭建


  • 我们使用ZK搭建MASTER SLAVE
  • 我们使用BROKER CLUSTER把两个“组”合并在一起


先来看下面的集群规划




MASTER SLAVE+BROKER CLUSTER的搭建-Group1的配置


由于这涉及到两个组6个ActiveMQ的实例配置,如果把6个配置全写出来是完全没有必要的,因此我就把配置分成两组来写吧。每个组的配置对于其组内各个节点都为一致的,除去那些个端口号。Group1的配置(保持6个实例中brokerName全部为一致)

  1. <networkConnectors>   
  2.      <networkConnector uri="static:(tcp://ymklinux:61619,tcp://ymklinux:61620,tcp://ymklinux:61621)" duplex=“false"/>    
  3.  </networkConnectors>   
<networkConnectors> 
	 <networkConnector uri="static:(tcp://ymklinux:61619,tcp://ymklinux:61620,tcp://ymklinux:61621)" duplex=“false"/>  
 </networkConnectors> 

可以看到这边的broker cluster的配置是用来确保每一台都可以和Group2中的各个节点保持同步


  1. <persistenceAdapter>    
  2.     <replicatedLevelDB     
  3.                           directory="${activemq.data}/leveldb"    
  4.                           replicas="3"    
  5.                           bind="tcp://0.0.0.0:0"    
  6.                           zkAddress="192.168.0.101:2181"    
  7.                           zkPassword=""    
  8.                           hostname="ymklinux"  
  9.                           sync="local_disk"  
  10.               zkPath="/activemq/leveldb-stores/group1"   
  11.                 />    
  12. </persistenceAdapter>  
<persistenceAdapter>  
	<replicatedLevelDB   
              	          directory="${activemq.data}/leveldb"  
              	          replicas="3"  
               	          bind=&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值