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

在上一部分中,我们从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

在上一篇博客文章中,我们使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-2 jConsole MBean标签的屏幕截图,其中显示以下内容:

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

让我们看看这个动作

  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

  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的foo.bar队列上此动态使用者的详细信息。

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

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

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

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

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

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

ActiveMQ –经纪人网络解释–第2部分相关推荐

  1. ActiveMQ –经纪人网络解释–第4部分

    在前面的第3部分中 ,我们已经看到ActiveMQ如何帮助将远程使用者与本地使用者区分开来,这有助于确定从消息生产者到使用者的较短路径. 在第4部分中,我们将研究如何在远程代理上负载均衡并发使用者. ...

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

    在前面的第4部分中,我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载. 在第5部分中,我们将看到如果在某个主题上有并发远程持久订阅者,则相同的配置将如何工作. 考虑以下配置-. 图1:经纪 ...

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

    现在,我们已经在本博客系列的第1部分和第2 部分中了解了ActiveMQ网络连接器的基础,在第3部分中,我们将研究ActiveMQ如何平衡连接到代理网络的使用者. 介绍 当可以无序处理队列中的消息时通 ...

  4. ActiveMQ –经纪人网络解释

    目的 这个由7部分组成的博客系列将分享有关如何创建ActiveMQ代理网络以实现高可用性和可伸缩性的信息. 为什么要建立经纪人网络? ActiveMQ消息代理是企业中消息传递基础结构的核心组件. 它需 ...

  5. activemq网络桥接_ActiveMQ –经纪人网络解释–第3部分

    activemq网络桥接 现在,我们已经在本博客系列的第1部分和第2 部分中了解了ActiveMQ网络连接器的基础,在第3部分中,我们将研究ActiveMQ如何平衡连接到代理网络的使用者. 介绍 当可 ...

  6. activemq网络桥接_ActiveMQ –经纪人网络解释–第4部分

    activemq网络桥接 在前面的第3部分中 ,我们已经看到ActiveMQ如何帮助将远程使用者与本地使用者区分开来,这有助于确定从消息生产者到使用者的较短路径. 在第4部分中,我们将研究如何在远程代 ...

  7. activemq网络桥接_ActiveMQ –经纪人网络解释

    activemq网络桥接 目的 这个由7部分组成的博客系列将分享有关如何创建ActiveMQ代理网络以实现高可用性和可伸缩性的信息. 为什么要建立经纪人网络? ActiveMQ消息代理是企业中消息传递 ...

  8. activemq网络桥接_ActiveMQ –经纪人网络解释–第5部分

    activemq网络桥接 在前面的第4部分中,我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载. 在第5部分中,如果主题上同时存在多个远程持久订阅者,我们将看到相同的配置如何工作. 考虑以 ...

  9. activemq网络桥接_ActiveMQ –经纪人网络解释–第2部分

    activemq网络桥接 在此博客中,我们将看到双工网络连接器如何工作. 在上一部分中,我们从broker-1和broker-2创建了一个网络连接器. 我们能够看到,当代理2上有一个使用者使用队列&q ...

最新文章

  1. 参考答案:03 向量空间
  2. 藏在标定板身后的秘密
  3. 通过关闭swap来提高win7运行速度
  4. Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
  5. pic单片机c语言nop,PIC单片机的读写93XCXX程序
  6. javascript中关于作用域和闭包
  7. python 内置open()函数与os.open()函数的区别(打开文件)
  8. 关于AJAX访问数据库不能及时获得更新数据的问题
  9. macOS配置Visual Studio Code开发Java项目
  10. 我国博士生招生规模变化、争论与进路
  11. hive-05-Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
  12. IntelliJ IDEA 的这个接口调试工具真是太好用了!
  13. acm之奇葩数据输入专题
  14. ntpdate 安装_SAS 9.4 安装教程
  15. Python 读取5张Excel的Sheet自动生成3张Sheet分析结果(减轻同事的工作量,让原本大约2个小时的工作量缩减到1分钟内)
  16. 2021年广东专精特新中小企业补助及小巨人企业补贴
  17. 总结一下m3u8格式相关问题
  18. 授权服务器文件包,单包授权认证(SPA)fwknop之安装和演示
  19. 【模板】字符串快速读入的函数
  20. 4-3. 统计素数并求和

热门文章

  1. SELECT * FROM user WHERE username LIKE #{aaa}与SELECT * FROM user WHERE username LIKE '%${value}%'
  2. ddm模型公式_简单判断目前行情——从股利贴现模型切入
  3. 求三个数的最大最小值
  4. java命令模式_Java中的命令设计模式
  5. app aws_服务网格:Istio和AWS App Mesh
  6. kafka数据到flume_大数据摄取:Flume,Kafka和NiFi
  7. java 编写代码_如果您在2016年编写过Java代码-这是您不容错过的趋势
  8. java中什么时候应用异常_生产Java应用程序中的十大异常类型-基于1B事件
  9. javaone_JavaOne和OOW 2015总结
  10. spring总结_Spring综合课程总结