ActiveMQ之经纪人网络集群

  

一、集群配置方式类型

  
主从
  
 <代码> & lt; networkConnectors>
  & lt; networkConnector uri="主从的:(tcp://host1:61616, tcp://host2:61616, tcp://. .)”/比;
  & lt;/networkConnectors>  
  
      <李> uri列表中对应的顺序就是主人,SLAVE1, SLAVE2…奴隶;李   <李>主从的作用就是经纪人之间的主,从同一时刻只能连接一个经纪人。通常先连接的主人,如果大师连接不上,则连接的奴隶;李   <李>经纪人之间的消息同步机制是通过& lt; persistenceAdapter>共享的存储方式来共享数据的,如:jdbc/kahaDB replicaLevelDB(管理员)。同时,经纪人之间也是通过获取数据存储的访问权来获取代理的主导权(即哪个经纪人激活)。   <李>管理员做主从的时,经纪人的名字必须一致,否则饲养员会认为不符合2 n + 1的规则。   <李>主从的这种配置既可以在activeMQ。xml中配置,也可以在客户端使用。通常建议在客户端使用。虽然主从可以提高可用性,但是负载均衡的功能减弱,并且很多时候会浪费奴隶代理服务器。   
  
代理静态发现h5> <代码> & lt; networkConnectors>   & lt; networkConnector uri="静态:(tcp://host1:61616, tcp://host2:61617, tcp://. .)”/比;   & lt;/networkConnectors>   

表示当前本地代理与远程代理(61616/61617)建立的单向网络连接,即本地代理可以将消息传递给远程代理,但反过来就不行.duplex=皌rue"属性配置可以开启双向通信。

  
代理多播发现h5> <代码> & lt; networkConnectors>   & lt; networkConnector uri="多播://默认”/比;   & lt;/networkConnectors>      & lt; transportConnector uri=" tcp://localhost: 0”discoveryUri="多播://违约"/祝辞   

组播发现会自动发现同网络中的代理并进行连接通信。注意:必须是同网络中。
在实际的配置很少这样配置,因为无法保证哪些经纪人建立了连接。对于主从配置也不是很好。

  
dynamicallyIncludedDestinations
  
 <代码> & lt; dynamicallyIncludedDestinations>
  & lt;队列physicalName=" include.test.foo "/比;
  & lt;主题physicalName=" include.test.bar "/比;
  & lt;/dynamicallyIncludedDestinations>  
  

当networkConnector中连接的代理有顾客时,那么对应的目的地才会传递到对应的代理。否,则不传递。这中方式对于点对点的方式就比较合适。

  
staticallyIncludedDestinations
  
 <代码> & lt; staticallyIncludedDestinations>
  & lt;队列physicalName=" always.include.queue "/比;
  & lt;主题physicalName=" always.include.topic "/比;
  & lt;/staticallyIncludedDestinations>  
  

不管networkConnector中连接的代理有无客户,都会讲消息发送到每个代理去。这种方式比较适合主题的消息方式。

  
excludedDestinations
  
 <代码> & lt; excludedDestinations>
  & lt;队列physicalName=" exclude.test.foo "/比;
  & lt;主题physicalName=" exclude.test.bar "/比;
  & lt;/excludedDestinations>  
  

networkConnector中指定某些detination不会发送到远程代理。

  
networkConnector中uri的参数
  
 <代码> uri="静态:(tcp://host1:61616 tcp://host2:61616) ? maxReconnectDelay=5000, useExponentialBackOff=false” 
  

initialReconnectDelay:重连的时间间隔。
maxReconnectDelay:最大重连时间。即initialReconnectDelay 次数
useExponentialBackOff:一次连接失败,后面的重连时间是否依次递增。
backOffMultiplier:当useExponentialBackOff=true,重连时间的间隔的倍数,即initialReconnectDelay
backOffMultiplier

  
networkConnector属性配置h5> 名称:连接名称,多个时必须唯一。
dynamicOnly:
decreaseNetworkConsumerPriority:
networkTTL:
messageTTL:
consumerTTL:
conduitSubscriptions:管道订阅。即一个代理有多个客户,也只会认为是一个客户。
excludedDestinations:
dynamicallyIncludedDestinations:
useVirtualDestSubs:
staticallyIncludedDestinations:
双工:是否开启双工通信
prefetchSize:
suppressDuplicateQueueSubscriptions:
bridgeTempDestinations:
alwaysSyncSend:
staticBridge:静态连接桥。与staticallyIncludedDestinations联合使用
用户名:networkConnector连接用户名
密码:networkConnector连接密码

  

二,集群实例

  

 ActiveMQ之经纪人网络集群

ActiveMQ之经纪人网络集群