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

activemq网络桥接

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

在第4部分中,我们将研究如何在远程代理上负载均衡并发使用者。

让我们考虑一些高级配置,以平衡远程代理中队列上的并发消息使用者,如下所示。

part-4-lb-rcc-新页面(4)
第四部分–经纪人网络

在以上配置中,我们有一个消息生成器,将消息发送到Broker-1上的队列moo.bar中。 Broker-1建立到Broker-2和Broker-3的网络连接器。 消费者C1使用来自代理2上队列moo.bar的消息,而消费者C2和C3是代理3上队列moo.bar上的并发消费者。

让我们看看这个动作

让我们创建三个经纪人实例…

  1. Ashwinis-MacBook-Pro:bin akuntamukkala $ pwd / Users / akuntamukkala / apache-activemq-5.8.0 / bin
  2. Ashwinis-MacBook-Pro:bin akuntamukkala $。/ activemq-admin创建../cluster/broker-1
  3. Ashwinis-MacBook-Pro:bin akuntamukkala $。/ activemq-admin创建../cluster/broker-2
  4. Ashwinis-MacBook-Pro:bin akuntamukkala $。/ activemq-admin创建../cluster/broker-3
  5. 通过修改相应的conf / activemq.xml和conf / jetty.xml来修复broker-2和broker-3传输,amqp连接器和jetty http端口,如下所示:
    经纪人 Openwire端口 码头HTTP端口 AMQP端口
    经纪人1 61616 8161 5672
    经纪人2 61626 9161 5682
    经纪人3 61636 10161 5692

  6. 修复broker-1上的网络连接器,以便可以将队列中的消息动态转发给broker-2和broker-3上的使用者。 可以通过将以下XML代码段添加到broker-1的conf / activemq.xml中来完成此操作
    <networkConnectors><networkConnectorname="Q:broker1->broker2"uri="static:(tcp://localhost:61626)"duplex="false"decreaseNetworkConsumerPriority="true"networkTTL="2"dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector>
    <networkConnectorname="Q:broker1->broker3"uri="static:(tcp://localhost:61636)"duplex="false"decreaseNetworkConsumerPriority="true"networkTTL="2"dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector></networkConnectors>
  7. 启动broker-2,broker-3和broker-1。 我们可以按任何顺序启动它们。
    1. /apache-activemq-5.8.0/cluster/broker-3/bin$ ./broker-3控制台
    2. /apache-activemq-5.8.0/cluster/broker-2/bin$ ./broker-2控制台
    3. /apache-activemq-5.8.0/cluster/broker-1/bin$ ./broker-1控制台
  8. 让我们在代理2上启动使用者C1,在代理3上启动消费者C2,在代理3上启动C3,但在称为“ moo.bar”的同一队列中
    1. /apache-activemq-5.8.0/example$ ant消费者-Durl = tcp:// localhost:61626 -Dsubject = moo.bar
    2. /apache-activemq-5.8.0/example$蚂蚁使用者-Durl = tcp:// localhost:61636 -Dsubject = moo.bar -DparallelThreads = 2

      消费者订阅由代理2和代理3转发到其相邻的代理1,代理1具有通过使用咨询消息为代理2和代理3建立的网络连接器。

  9. 让我们回顾一下代理Web控制台以查看队列和相应的使用者。
    1. 我们发现broker-2的Web控制台显示一个队列“ moo.bar”有1个使用者,broker-3的Web控制台显示一个队列“ moo.bar”有2个并发使用者
    2. 尽管有三个消费者(代理2上的C1和代理3上的C2,C3),但是代理1仅看到两个消费者(分别代表代理2和代理3)。

      part4-broker1-wc-cf
      http:// localhost:8161 / admin / queues.jsp


      part4-broker1-消费者

    3. 这是因为默认情况下,从broker-1到broker-2以及到broker-3的网络连接器都具有“ conduitSubscriptions”属性。
      由于使用了来自同一队列“ moo.bar”的消息的代理3的C2和C3被视为代理1中的一个使用方。

  10. 让我们将30条消息生成到broker-1的队列moo.bar中,并查看消息如何在使用者C1,C2和C3之间划分:
    part4-rcc-cSt
    显示消息如何从生产者传播到消费者C1,C2,C3

如上所示,即使有3个使用者和30条消息,但由于C2,C3订阅被合并到Broker-1的一个使用者中,因此他们每条消息都无法处理10条消息。

如果我们要在主题上创建订阅者,则该管道将是有用的设置,因为这样可以防止出现重复消息。 在第5部分中对此有更多的了解。

因此,为了使队列moo.bar上的C2和C3订阅传播到broker-1,让我们在broker-1的网络连接器配置中将conductorSubscriptions =“ false”设置为6之后重新执行相同的步骤6、7、8、9和10。 conf / activemq.xml。

这是Broker-1的新网络连接器配置代码段:

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

重新启动代理和使用者C1,C2和C3并在Broker-1的moo.bar队列中产生30条消息后,我们发现所有三个使用者订阅都在Broker-1上可见。 结果,broker-1以循环方式向每个使用者分发了10条消息,以实现负载平衡。 如下图所示。

part4-broker-1-cc
显示消息如何从生产者传播到消费者C1,C2,C3


Broker-1的Web控制台@http:// localhost:8161 / admin / queueConsumers.jsp?JMSDestination = moo.bar显示,Broker-1现在可以看到3个使用者,并向每个使用者发送10条消息。

part4-broker-1

因此,在博客系列的第4部分中,我们已经了解了如何平衡正在使用队列中消息的远程并发使用者。

一如既往地感谢您的意见和反馈!

在第5部分中,我们将探讨如果使用主题而不是队列来播放同一场景。 敬请关注…

资源资源

  • http://fusesource.com/docs/esb/4.3/amq_clustering/Networks-Connectors.html
  • 此博客中使用的所有代理的配置文件(activemq.xml和jetty.xml)在此处可用。

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

activemq网络桥接

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

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

相关文章

sublime 添加注释模块

问题背景&#xff1a; 规范的程序需要对函数进行注释&#xff0c;常用的开发工具如IDEA、VS Code都对注释模板有很好的支持。本博客介绍Sublime下支持模块注释功能的设置。 一 安装 一、安装方法 1.安装docblocker插件 mac CmdShiftP -> Install Package -> docblock…

只读副本和Spring Data第3部分:配置两个实体管理器

我们之前的设置可以正常工作。 我们现在要做的是进一步发展&#xff0c;并配置两个单独的实体管理器&#xff0c;而不会影响我们之前实现的功能。 第一步是将默认的实体管理器配置设置为主要配置。 这是第一步 package com.gkatzioura.springdatareadreplica.config; import…

Win+E快速打开我的电脑方式设置方式

W10运用快捷键WinE快速打开我的电脑设置方式

JMetro版本11.6.5和8.6.5发布

再一次问好。 设置了SDK中所有JavaFX控件的样式以及其他一些不存在的样式以及其他库中的其他样式。 后续版本将涉及调整JMetro现有样式或从第三方库的其他控件添加其他样式。 此版本就是这种情况。 这是新功能&#xff1a; 3种新的控件样式&#xff1b; 调整JMetro现有样式&a…

Chrome浏览器的便捷使用方式

截取转载于B站视频【全套教程】高效玩转Chrome浏览器&#xff0c;丰富你的上网体验_哔哩哔哩_bilibili中的脑图文件&#xff0c;便于之后的熟悉使用。 脑图链接 https://naotu.baidu.com/file/5a5332eee10dd903cc084d49189cd2behttps://naotu.baidu.com/file/5a5332eee10dd90…

Sublime查看已经安装的插件

蓝色框图内显示已经安装的插件

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

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

Word样式的导入与导出

1 样式的介绍 样式&#xff0c;也就是Word中各级标题的格式。合理的设置样式模板&#xff0c;可以帮助更方便的进行文本编辑。 2 样式的导入 具体情形为将“文档标准模板.dotm”的内容应用于“新建Microsoft Word文档”。 按照图示进行操作 【 如果应用模板为文件内的样式…

word将一个文档的样式导入到另一个文档

一、背景 在word中编辑文档时&#xff0c;经常需要定义一个样式给特定格式的文本使用&#xff0c;如标题1&#xff0c;标题2等&#xff0c;而有时需要在一个新文档A中使用一个旧文档B中定义好的样式。 二、操作步骤 1、打开旧文档B&#xff0c;选择上方标签栏的"样式&quo…

Spring Boot应用程序浪费了内存

内存是当今世界上被广泛浪费的资源之一。 由于编程效率低下&#xff0c;令人吃惊的&#xff08;有时是“令人震惊的”&#xff09;内存浪费被浪费了。 我们看到这种模式在多个企业应用程序中重复出现。 为了证明这种情况&#xff0c;我们进行了一项小型研究。 我们分析了著名的…

Win10灵活使用快速访问

I 快速访问视图 位置在winE 左侧窗口&#xff0c;点击可快速到达某个特定的文件夹。作用类似于快捷方式&#xff0c;操作简单。 II 关闭自动添加 默认是显示经常使用的文件夹。这使得窗口内文件夹较乱。 通过以下设置&#xff0c;关闭自动显示 1. 2.把框内√去掉 III 固定文…

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

activemq网络桥接在此博客中&#xff0c;我们将看到双工网络连接器如何工作。 在上一部分中&#xff0c;我们从broker-1和broker-2创建了一个网络连接器。 我们能够看到&#xff0c;当代理2上有一个使用者使用队列“ foo.bar”时&#xff0c;代理1上的队列“ foo.bar”的消息如…

Apache Lucene中的并发查询执行

Apache Lucene是一个出色的并发纯Java搜索引擎&#xff0c;如果您愿意&#xff0c;它可以轻松地使服务器上的可用CPU或IO资源饱和。 “典型” Lucene应用程序的并发模型在搜索时每个查询一个线程&#xff0c;但是您知道Lucene还可以使用多个线程同时执行一个查询以大大减少最慢…

Windows设置自己的程序开机自动启动

Windows系统想要快速设置开机自动启动某个程序&#xff0c;可以使用以下方法设置&#xff1a; 1.找到启动文件夹 CtrlR 打开运行&#xff0c;输入shell:startup&#xff0c;回车,找到启动文件夹 2.拷贝需要开机启动的程序的快捷方式到此文件夹即可。 3.打开任务管理器-启动查…

Citavi中文件管理

目录 I 文献相对应的PDF文件相关操作 1 打开PDF所在位置 2 直接重命名PDF文献 注&#xff1a;设置角标方式 II 阅读文献相关的文件的添加与删除 1 添加 2 删除 III PPT CAJ文件的添加 I 文献相对应的PDF文件相关操作 PDF文件可直接拉入文献框进行导入 1 打开PDF所在位置…

Citavi插件的安装和使用以及注意事项

【文章转载于知乎大神&#xff1a;Citavi插件的安装和使用以及注意事项 - 知乎】 没有软件是十全十美的&#xff0c;基础功能够用&#xff0c;附加功能以插件、脚本的方式来支持是个不错的思路。 Citavi提供了自定义宏和插件的方式&#xff0c;来满足更为复杂的格式修整和文献…

MiUI特色功能设置总结

一 常用设置 【转载于知乎https://www.zhihu.com/question/514792652/answer/2377622710】 1 自动优化系统 其实在手机开发者模式设置中&#xff0c;有2个地方我们需要设置&#xff0c;设置了不仅可以让手机运行更流畅&#xff0c;而且还能帮我们自动优化系统。 &#xff0…

potplayer怎么设置无边框播放,播放时隐藏进度条

potplayer默认情况下播放视频时会显示边框&#xff0c;那么怎么设置无边框播放呢?下面小编就为大家详细的介绍一下&#xff0c;大家感兴趣的话就一起来了解下吧! potplayer怎么设置无边框播放?potplayer设置无边框播放方法 1、点击左上角的potplayer 2、在下拉菜单中点击选项…

蓝牙播放Stereo和Hands-Free AG Audio两种模式的区别?

当使用蓝牙耳机时&#xff0c;发现电脑的播放设备显示了两种模式&#xff08;如下图所示&#xff09;&#xff0c;Stereo模式下声音正常&#xff0c;而调到Hands-Free AG Audio模式下声音频带窄了很多且音质差&#xff0c;典型的电话音&#xff0c;下面具体说说这两种模式的区别…

workrave使用方法

一 模式介绍 阅读模式&#xff1a; 不论电脑什么状态&#xff0c;倒计时一直进行 普通模式&#xff1a; 当检测到电脑没有任何操作&#xff0c;比如打字与移动鼠标&#xff0c;则暂停倒计时。如果长时间没有操作&#xff0c;则默认进入休息状态&#xff0c;下次移动鼠标&…