ActiveMQ –经纪人网络解释–第2部分

在此博客中,我们将看到双工网络连接器如何工作。

在上一部分中,我们从broker-1和broker-2创建了一个网络连接器。 我们能够看到当代理2上有一个使用者使用队列“ foo.bar”时,代理1上的队列“ foo.bar”的消息如何转发到代理2上的队列“ foo.bar”。

让我们尝试通过将消息生成到broker-2的队列foo.bar中并从broker-1的队列“ foo.bar”中消费来进行相反的操作

Ashwinis-MacBook-Pro:example akuntamukkala$ ant producer -Durl=tcp://localhost:61626 -Dtopic=false -Ddurable=true -Dsubject=foo.bar -Dmax=100
Ashwinis-MacBook-Pro:example akuntamukkala$ ant consumer -Durl=tcp://localhost:61616 -Dtopic=false -Dsubject=foo.bar

broker-2-100-msg-入队

在上一篇博客文章中,我们使100条消息入队/出队。 因此,现在排队的#messages显示为200。

如上所示,在Broker-2的foo.bar队列中有100条新消息入队,但是没有消费者,尽管从Broker-1到Broker-2的所有队列都有一个网络连接器。

原因是,除非指定为“双工”,否则网络连接器是从源到目标代理的单向连接。

让我们更改以下以黄色突出显示的属性

/Users/akuntamukkala/apache-activemq- 5.8.0/bridge-demo/broker-1/conf/activemq.xml

broker-1的配置文件。

<networkConnectors>
         <networkConnector 
            name="T:broker1->broker2" 
            uri="static:(tcp://localhost:61626)" 
            duplex="false" 
            decreaseNetworkConsumerPriority="true" 
            networkTTL="2" 
            dynamicOnly="true">
            <excludedDestinations>
                  <queue physicalName=">" />
            </excludedDestinations>
         </networkConnector>
         <networkConnector 
            name="Q:broker1->broker2" 
            uri="static:(tcp://localhost:61626)" 
            duplex="true" 
            decreaseNetworkConsumerPriority="true" 
            networkTTL="2" 
            dynamicOnly="true">
            <excludedDestinations>
                  <topic physicalName=">" />
            </excludedDestinations>
         </networkConnector>
     </networkConnectors>

让我们重新启动代理,并使用jConsole连接到代理。

这是broker-1 jConsole MBean选项卡的屏幕截图,显示以下内容:

  1. Q:broker1-> broker2网络连接器是双工的。
  2. 现在有一个动态的生产者从broker-2进入broker-1,因为
    问:broker1-> broker2网络连接器是“双工”。

broker-1-jconsole

这是broker-2 jConsole MBean标签的屏幕截图,其中显示以下内容:

  1. 从broker-2到broker-1的双工网络连接器
  2. 从broker-1到broker-2的两个动态消息生产者
    1. 请注意,“ Q:broker1-> broker2”网络连接器显示为activemq.xml中配置的双工

broker-2-jconsole

让我们看看这个动作

  1. 生产者100消息进入broker-2
  2. Ashwinis-MacBook-Pro:example akuntamukkala$ ant producer -Durl=tcp://localhost:61626 -Dtopic=false -Ddurable=true -Dsubject=foo.bar -Dmax=100

    broker-2中队列的屏幕快照:http:// localhost:9161 / admin / queues.jsp

    broker-2-duplex-noconsumers

  3. 在broker-1的foo.bar上创建使用者
  4. Ashwinis-MacBook-Pro:example akuntamukkala$ ant consumer -Durl=tcp://localhost:61616 -Dtopic=false -Dsubject=foo.bar

    以下来自broker-2的屏幕截图显示,所有100条消息已由使用者出队(动态转发到broker-1)。

    http:// localhost:9161 / admin / queues.jsp

    broker-2-duplex-msg出队

    以下屏幕快照显示了Broker-2的foo.bar队列上此动态使用者的详细信息。

    http:// localhost:9161 / admin / queueConsumers.jsp?JMSDestination = foo.bar

    broker-2-双工动态消费

    下面的屏幕快照显示了我们在步骤2中创建的使用者已成功使用了从broker-2的foo.bar队列动态移动到broker-1的foo.bar队列的100条消息。

    broker-1-duplex-msg已消耗

    到此系列的第2部分结束,我们了解了双工网络连接器的工作方式。

    一如既往地欢迎您提出意见。

    请继续关注第3部分,我们将介绍本地/远程代理上的负载平衡消费者...

翻译自: https://www.javacodegeeks.com/2014/04/activemq-network-of-brokers-explained-part-2.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值