zoukankan      html  css  js  c++  java
  • activemq应用总结(四)

    BrokerCluster

            Broker Cluster主要是通过network of Brokers在多个ActiveMQ实例之间进行消息的路由。Broker的集群分为Static Discovery和Dynamic Discovery两种。

    (1)StaticDiscovery集群

    Static Discovery集群就是通过硬编码的方式使用所有已知ActiveMQ实例节点的URI地址。如:消息生产者应用连接一个ActiveMQ实例,我们暂时称为MQ1,所有的消息都由该实例提供;两个消息消费者应用分别连接另外两个ActiveMQ实例,分别为MQ2和MQ3,两个消息消费者需要消费MQ1上的消息,但它们连接的都不是MQ1,可以通过Static Discovery方式把MQ1上的消息路由到MQ2和MQ3,为了保证消费者不因某个节点的失效而导致不能消费消息,在消费者应用中需要配置所有节点的URI。

        生产者ActiveMQ实例不需要特殊的配置,所有的消费者ActiveMQ实例需要添加networkConnectors节点,连接到生产者MQ实例,如:

    <networkConnectors>  
    <networkConnector uri="static:failover://(tcp://localhost:61616)" duplex="true" />  
    </networkConnectors>

    上面这段配置需要加在<persistenceAdapter>节点的前面。然后在消费者应用中设置brokerURL的值如: 

    <property name="brokerURL" value="<span style="color: #ff0000;">failover:(tcp://localhost:61617)</span>?initialReconnectDelay=100" /> 

    Static Discovery集群方式有些缺点,如不能解决单点故障问题,若某个Broker失效时,有可能造成数据的丢失,动态添加节点不够智能化。

        更加详细的说明与配置请参考:http://activemq.apache.org/networks-of-brokers.html

    (2)DynamicDiscovery集群

            DynamicDiscovery集群方式在配置ActiveMQ实例时,不需要知道所有其它实例的URI地址,只需在所有实例的${ACTIVEMQ_HOME}/conf/activemq.xml文件中添加以下内容:

    <networkConnectors>  
    <networkConnector uri="multicast://default" />  
    </networkConnectors>

     同时在<transportConnectors>节点中添加

    <transportConnectors>  
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616" discoveryUri="multicast://default" />  
    </transportConnectors>  

    这样就可以实现消息在所有ActiveMQ实例之间进行路由。Dynamic Discovery集群方式的缺点和Static Discovery一样。

    具体可以参考activemq下载下来的conf目录下的几个配置文件。

    \conf\activemq-static-network-broker1.xml

    \conf\activemq-static-network-broker2.xml

    \conf\activemq-dynamic-network-broker1.xml

    \conf\activemq-dynamic-network-broker2.xml

  • 相关阅读:
    开源一个适用iOS的数据库表结构更新机制的代码
    耗油是什么??主要起什么作用???_百度知道
    跨平台C++ 功能全面的Socket类库,支持TCP,UDP,限速等等_陈华_新浪博客
    ASICME Avalon|阿瓦隆比特币矿机
    水淀粉_百度百科
    HyperDex.org
    不忘初心:从阿里运维工程师到水果贩子的“降级”路 | 卖水果的工程师
    用Github账号领Ripple币
    简洁 轻快 完美支持 Windows 8 Modern UI 单行输入,轻盈流畅
    赴美旅游签证,不求人!
  • 原文地址:https://www.cnblogs.com/hzcxy/p/2984664.html
Copyright © 2011-2022 走看看