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

activemq网络桥接

在前面的第4部分中,我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载。

在第5部分中,如果主题上同时存在多个远程持久订阅者,我们将看到相同的配置如何工作。 考虑以下配置…。



part-5-lb-rcc-新页面
图1:经纪人网络–主题上的负载平衡订户


如上所示,我们有Broker-1,它启动了到Broker-2和Broker-3的两个网络连接器。 生产者将消息发送到Broker-1上的主题“ moo.bar”,而Broker-2具有订户C1,而Broker-3具有两个订户C2和C3,主题相同。

您可能会注意到,此设置与第4部分非常相似。 唯一的区别是,这里我们处理主题,而在第4部分中 ,我们处理队列。

让我们看看这个动作

  1. 在Broker-1的activemq.xml配置文件中添加以下网络连接器配置:
    <networkConnectors>
    <networkConnector
    name="T:broker1->broker2"
    uri="static:(tcp://localhost:61626)"
    duplex="false"
    decreaseNetworkConsumerPriority="false"
    networkTTL="2"
    conduitSubscriptions="false"
    dynamicOnly="true">
    <excludedDestinations>
    <queue physicalName=">" />
    </excludedDestinations>
    </networkConnector>
    <networkConnector
    name="T:broker1->broker3"
    uri="static:(tcp://localhost:61636)"
    duplex="false"
    decreaseNetworkConsumerPriority="false"
    networkTTL="2"
    conduitSubscriptions="false"
    dynamicOnly="true">
    <excludedDestinations>
    <queue physicalName=">" />
    </excludedDestinations>
    </networkConnector>
    </networkConnectors>
  2. 让我们按此顺序启动broker-2,broker-3和broker-1。
  3. akuntamukkala@localhost~/apache-activemq-5.8.0/cluster/broker-2/bin$ ./broker-2 console
  4. akuntamukkala@localhost~/apache-activemq-5.8.0/cluster/broker-3/bin$ ./broker-3 console
  5. akuntamukkala@localhost~/apache-activemq-5.8.0/cluster/broker-1/bin$ ./broker-1 console
  6. Broker-1的管理控制台连接表明,已经按照从Broker-1到Broker-2和Broker-3的配置分别建立了两个网络连接器:
  7. broker-1连接
    Broker-1的连接@ http:// localhost:8161 / admin / connections.jsp

  8. 让我们开始在Broker-2上订阅订户C1,订阅主题“ moo.bar”的消息,在Broker-3上订阅订户C2和C3,订阅主题相同的消息“ moo.bar”。
  9. 持久订阅者需要客户端ID和订阅者名称的唯一组合。 为了创建持久订户C2和C3,我们需要增强/Users/akuntamukkala/apache-activemq-5.8.0/example/src/ConsumerTool.java中提供的功能,其中/Users/akuntamukkala/apache-activemq-5.8 .0是ActiveMQ的安装目录。
  10. 修改后的代码包括编辑build.xml和ConsumerTool.java以添加新参数“ subscriberName”。 可以分别从此处和此处获得已编辑的文件build.xml和ConsumerTool.java。
  11. 现在开始订户。
  12. akuntamukkala@localhost~/apache-activemq-5.8.0/example$ant consumer -Durl=tcp://localhost:61626 -Dtopic=true -Dsubject=moo.bar -DclientId=C1 -Ddurable=true -DsubscriberName=mb.C1 
  13. akuntamukkala@localhost~/apache-activemq-5.8.0/example$ant consumer -Durl=tcp://localhost:61636 -Dtopic=true -Dsubject=moo.bar -DclientId=C2 -Ddurable=true -DsubscriberName=mb.C2 
  14. akuntamukkala@localhost~/apache-activemq-5.8.0/example$ant consumer -Durl=tcp://localhost:61636 -Dtopic=true -Dsubject=moo.bar -DclientId=C3 -Ddurable=true -DsubscriberName=mb.C3 
  15. Broker-2上的持久订阅者:
    broker-2耐用订户
    http:// localhost:9161 / admin / subscribers.jsp

  16. Broker-3上的持久订阅者:
    broker-3-耐用订户
    http:// localhost:10161 / admin / subscribers.jsp

  17. Broker-1上的持久订户(由于网络连接器):
    http:// localhost:8161 / admin / subscribers.jsp

  18. 现在,让我们向Broker-1上的主题moo.bar发送10条持久消息。
  19. akuntamukkala@localhost~/apache-activemq-5.8.0/example$ant producer -Durl=tcp://localhost:61616 -Dtopic=true -Dsubject=moo.bar -Dmax=10 -Ddurable=true 
  20. 请参阅Broker-3上的控制台:
    broker-3-duplicate-msg-warning
    Broker-3上的日志文件输出

  21. 如您所见,Broker-3收到两次相同的消息,每个订阅C2和C3一次。 默认情况下,ActiveMQ不允许处理重复的消息。
  22. 发生这种情况是因为Broker-3上的订阅mb.C2和mb.C3都传播到了Broker-1。 因此,当10条消息发布到Broker-1上的moo.bar时,这些消息将发送到同一代理Broker-3上的订户mb.C2和mb.C3。 由于消息具有相同的ID,因此重复消息将被丢弃,因此警告将显示在日志消息中……(如步骤19所示)。
  23. 这是显示关于Broker-1的统计信息的控制台:
    broker-1-stats
    http:// localhost:8161 / admin / subscribers.jsp

  24. 这是显示关于Broker-3的统计信息的控制台:
    broker-3-stats
    http:// localhost:10161 / admin / subscribers.jsp

  25. 如您所见,即使入队计数器显示为20,出队计数器也仅显示10,因为其他10条消息已由Broker-3丢弃。 这是一项有用的功能,有助于确保代理最多处理一次消息。

发生这种情况的原因是,预订C2和C3都传播到上游代理Broker-1。

broker-3-duplicate-msg-warning1
Broker-3上的重复消息


让我们在网络连接器设置中进行一些细微调整来重试相同的场景,方法是将pipelineSubscriptions =“ true”
在两个网络连接器上分别从Broker-1到Broker-2和Broker-3。 重新启动代理后,删除不活动的持久订阅者,然后重复上述步骤。

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

下面的屏幕快照显示,Broker-1现在仅看到两个持久订阅者,每个Broker-1和Broker-3来自一个代理。

broker-1-cs-true
当conductorSubscriptions =“ true”时,Broker-1中的持久订户

在Broker-1上发布10条持久消息后,我们发现这次没有相同的重复消息问题。

正如预期的那样,所有10条消息均由C1,C2和C3处理,如下面的屏幕快照所示。

broker-1-msg处理
Broker-1的持久主题订阅者

broker-3-msg处理
Broker-3的持久主题订户C2和C3分别接收和处理10条消息


因此,我们已经看到了pipelineSubscriptions属性如何通过避免在代理网络中重复消息来帮助减少消息流量。

在第6部分中,我们将看到ActiveMQ如何提供“消息重播”功能,以防止消息阻塞的情况。

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

activemq网络桥接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟量、数字量与开关量的区别

我们常说模拟量、数字量、开关量&#xff0c;从字面意思大概也能明白部分意思&#xff0c;但它们到底是什么&#xff0c;有什么特点和区别呢&#xff1f;今天我们就专门来讲一讲&#xff0c;模拟量、数字量以及开关量的概念和区别。 模拟量 模拟量是指变量在一定范围内连续变…

工业以太网交换机的优势以及注意事项介绍

工业交换机的应用十分广泛&#xff0c;具有电信级性能特征&#xff0c;可耐受严苛的工作环境&#xff0c;在行业应用方面&#xff0c;主要应用于&#xff1a;煤矿安全、轨道交通、工厂自动化、水处理系统、城市安防等。接下来杭州飞畅的小编就来为大家详细介绍下工业以太网交换…

LoRa Basics无线通信技术和应用案例详解

什么是LoRa Basics技术 LoRa Basics就是Semtech Corporation基于LoRaWAN协议推出软件构建模块。LoRa Basics提取常用的LoRaWAN功能&#xff0c;即所有终端设备、网关或基于LoRaWAN解决方案的开发人员都必须实现的功能&#xff0c;并提供一组与规范兼容的、免费的、可提供支持的…

蓝牙模块的分类和对应的属性特点

蓝牙模块的分类&#xff0c;具体的属性特点&#xff0c;蓝牙协议5.0与4.2之间的区别&#xff0c;蓝牙角色 一、蓝牙模块的分类 ESP-WROOM-32 ESP32-WROVER E72-2G4M02S2B E72-2G4M05S1B E104-BT01 E104-BT02 E104-BT10 E73-2G4M04S1A E73-2G4M04S1B E73-2G4M04S1D E73-2G4M0…

工业以太网交换机的作用和工作原理详解

工业以太网交换机是基于以太网传输数据的交换机&#xff0c;以太网采用共享总线型传输媒体方式的局域网。工业以太网交换机的结构是每个端口都直接与主机相连&#xff0c;并且一般都工作在全双工方式。交换机能同时连通许多对端口&#xff0c;使每一对相互通信的主机都能像独占…

[渝粤教育] 天津城建大学 混凝土结构设计原理A 参考 资料

教育 -混凝土结构设计原理A-章节资料考试资料-天津城建大学【】 第一章单元测验 1、【单选题】混凝土结构设计方法的发展进程中&#xff0c;属于结构生命全过程设计法&#xff08;即兼顾结构安全性、适用性和耐久性&#xff09;&#xff0c;且运用概率方法度量结构可靠性的是 A…

蓝牙模块有哪些种类?BLE低功耗蓝牙模块有什么特点?

Ble蓝牙模块是专为物联网无线数据传输而生&#xff0c;ble蓝牙模块以其超低功耗、快速连接、容易交互等特点&#xff0c;已广泛应用于物联网蓝牙设备中。 一、蓝牙模块的分类 那么&#xff0c;蓝牙模块都有哪些种类呢&#xff1f;按照一般的用途来分类的话可以简单的分3类&am…

akka应用_处理Akka应用程序中的每个事件

akka应用这里的事件&#xff0c;那里的事件&#xff0c;到处都是事件。 发布有关检查每一项Akka事件最终都能找到归宿的信息。 Akka和基于事件的React式应用程序是创建软件的新方法。 在当前基于Scala的项目中&#xff0c;我们非常密集地使用Akka。 事件非常适合我们的用例&am…

工业以太网交换机故障的排障步骤

工业以太网交换机在工业安防领域的应用可以说是非常的广泛了&#xff0c;我们在使用工业交换机的过程中&#xff0c;难免会遇到各种各样的故障问题&#xff0c;但是工业以太网交换机的故障有多种多样&#xff0c;不同的故障有不同的表现形式&#xff0c;那么&#xff0c;我们在…

EDA软件断供对国产芯片发展有什么影响?

美国断供EDA软件&#xff0c;对国产芯片发展有什么影响&#xff1f;国产EDA水平如何&#xff1f; 没有EDA&#xff0c;就没有芯片 EDA&#xff08;Electronic Design Automation&#xff09;&#xff0c;即电子设计自动化&#xff0c;是利用计算机辅助完成集成电路芯片的设计…

前途无量的MEMS传感器技术

MEMS传感器即微机电系统&#xff08;Micro-electro Mechanical Systems&#xff09;&#xff0c;是指将精密机械系统与微电子电路技术结合发展出来的一项工程技术&#xff0c;它的尺寸一般在微米量级。封装技术是MEMS传感器成功的关键&#xff0c;其技术包括SIP&#xff08;系统…

工业以太网交换机几点常见故障解析

用户在使用工业交换机的时候&#xff0c;往往会碰到很多故障问题&#xff0c;由于工业交换机的故障现象是多种多样的&#xff0c;没有一个固定的排除步骤&#xff0c;我们在排除故障的过程中只能具体情况具体分析了。在这里&#xff0c;杭州飞畅科技的小编为此专门整理了一些大…

内置单片机的433无线模块高速连传典型运用

E61是高速型 433M 无线数传模块&#xff0c;内置高性能单片机和高速无线 RF 芯片&#xff0c;UART串口透明传输&#xff0c;工作在 425~450.5MHz 频段&#xff08;默认 433MHz&#xff09;&#xff0c;发射功率最大1W。无线模块在“连续传输方式”下不限数据包的长度&#xff0…

飞畅科技-工业以太网交换机市场发展情况介绍

现如今&#xff0c;在各类工业工程中&#xff0c;我们通常会采用专用的工业以太网交换机&#xff0c;定义不同的太网帧优先等级&#xff0c;让用户所希望的信息能够以最快的速度传递出去。目前&#xff0c;我国工业以太网交换机行业整体上仍处于导入阶段&#xff0c;下游客户主…

只读副本和Spring Data第2部分:配置基础项目

在上一篇文章中&#xff0c;我们使用相同的数据设置了多个PostgreSQL实例。 我们的下一步将是使用这两个服务器来配置我们的spring项目。 如前所述&#xff0c;由于我们使用完全相同的数据库&#xff0c;因此我们将使用Spring Boot JPA帖子中的一些代码。 这将是我们的gradl…

窄带传输与LoRa扩频传输技术应用方案对比

一、窄带传输与lora模块扩频传输技术对比 上图为成都亿佰特电子科技有限公司基于AX5043https://www.ebyte.com/product-class.aspx?cid1和SX1278https://www.ebyte.com/product-class.aspx?cid1&pid182两款芯片方案研发的极具有特色的E31系列窄带无线传输模块和E32扩频无…

[渝粤教育] 新乡医学院三全学院 人体解剖学 参考 资料

教育 -人体解剖学-章节资料考试资料-新乡医学院三全学院【】 绪论单元测试 1、【单选题】下述哪一项不符合解剖学姿势 A、身体直立 B、两眼向前平视 C、上肢垂于躯干两侧 D、手掌向内侧 E、两足并立、足尖向前 参考资料【 】 2、【单选题】关于方位术语的正确描述是 A、人体仰卧…

工业以太网交换机选机攻略

工业以太网交换机是专门为满足灵活多变的工业应用需求而设计&#xff0c;提供一种高性价比工业以太网通讯解决方案。那么我们在选购工业交换机的时候该注意哪些问题呢&#xff1f;工业以太网交换机有哪些选购标准呢&#xff1f;接下来就跟随飞畅科技的小编一起来详细了解下吧&a…

物联网助力智慧农业,农民也能成为科技工作者

北京时间8月24日&#xff0c;新电商拼多多发布了2021年第二季度财报。财报显示&#xff0c;截至2021年6月30日&#xff0c;拼多多年度活跃买家数达到8.499亿&#xff0c;作为国内最大的农产品上行平台之一&#xff0c;拼多多同时宣布将专门设立100亿元农业科技专项。 “百亿农…

您是否尝试过MicroProfile Starter?

https://start.spring.io的SPRING INITIALIZR已经存在了一段时间&#xff0c;并且是引导新的Spring Boot应用程序的最佳方法。 到目前为止&#xff0c;即使不同的供应商为其实施提供了启动器&#xff0c;也没有类似的方式来引导新的MicroProfile项目。 但是等待已经结束&#…