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

activemq网络桥接

目的

这个由7部分组成的博客系列将分享有关如何创建ActiveMQ代理网络以实现高可用性和可伸缩性的信息。

为什么要建立经纪人网络?

ActiveMQ消息代理是企业中消息传递基础结构的核心组件。 它需要高度可用并且可以动态伸缩,以促进具有不同容量需求的动态异构分布式应用程序之间的通信。

如今,在商用硬件上扩展企业应用程序已成为当务之急。 ActiveMQ通过能够创建代理网络来分担负载而很好地满足了这一要求。

很多时候,跨地理分布的数据中心运行的应用程序需要协调消息。 使用代理网络可以更好地设计跨地理区域/数据中心的运行消息生产者和消费者。

ActiveMQ使用传输连接器,通过它与消息生产者和使用者进行通信。 但是,为了促进代理之间的通信,ActiveMQ使用网络连接器

网络连接器是两个代理之间的桥,允许按需转发消息。

换句话说,如果代理B1启动到代理B2的网络连接器,则如果B2上至少有一个消费者使用同一通道,则B1上的通道(队列/主题)上的消息将转发到B2。 如果将网络连接器配置为双工,则消息将按需从B2转发到B1。

这非常有趣,因为经纪人现在可以彼此动态通信。

在这个由7部分组成的博客系列中,我们将研究以下主题,以了解这一非常强大的ActiveMQ功能:

    1. 网络连接器基础知识–第1部分
    2. 双工网络连接器–第2部分
    3. 在本地/远程代理上对使用者进行负载平衡–第3部分
    4. 平衡远程代理上的使用者/订户的负载
      1. 队列:负载均衡远程并发使用者–第4部分
      2. 主题:远程代理上的负载均衡持久订阅–第5部分
    5. 存储/转发消息和使用者故障转移–第6部分
      1. 如何防止邮件被卡住
    6. 虚拟目的地–第7部分

为了表示应有的信誉,以下URL已帮助我创建了此博客文章系列。

  1. 使用ActiveMQ进行高级消息传递 by Dejan Bosanac [幻灯片32-36]
  2. Jakub Korab的 理解ActiveMQ Broker网络

先决条件

  1. ActiveMQ 5.8.0 –创建代理实例
  2. Apache Ant –运行ActiveMQ样本生产者和使用者进行演示。

为了便于演示,我们将在同一台计算机上使用多个ActiveMQ代理实例。

网络连接器基础知识–第1部分

下图显示了网络连接器的功能。 它桥接两个代理,并且如果由Broker-1建立消息,则根据需要将消息从Broker-1转发给Broker-2。

数控

网络连接器可以是双工的,因此消息可以沿相反的方向转发; 从Broker-2到Broker-1,一旦Broker-1上存在某个使用者,并且该使用者存在于Broker-2中。 第2部分中的更多内容

在Broker-1和Broker-2之间设置网络连接器

  • 创建两个代理实例,例如broker-1和broker-2
Ashwinis-MacBook-Pro:bin akuntamukkala$ pwd
/Users/akuntamukkala/apache-activemq-5.8.0/bin
Ashwinis-MacBook-Pro:bin akuntamukkala$ ./activemq-admin create ../bridge-demo/broker-1
Ashwinis-MacBook-Pro:bin akuntamukkala$ ./activemq-admin create ../bridge-demo/broker-2

由于我们将在同一台计算机上运行两个代理,因此我们将broker-2配置为没有端口冲突。

  • 编辑
    /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/conf/activemq.xml
    1. 将传输连接器从61616更改为61626
    2. 将AMQP端口从5672更改为6672(此博客不使用它)
  • 编辑
    /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/conf/jetty.xml
    1. 将Web控制台端口从8161更改为9161
  • 配置从Broker-1到Broker-2的网络连接器
    将以下XML代码段添加到
    /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-1/conf/activemq.xml
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="false" decreaseNetworkConsumerPriority="true" networkTTL="2" dynamicOnly="true"><excludedDestinations><topic physicalName=">" /></excludedDestinations></networkConnector></networkConnectors>

上面的XML代码段配置了两个网络连接器“ T:broker1-> broker2”(仅队列中的主题除外)和“ Q:broker1-> broker2”(仅队列中的主题除外)。 这样可以很好地分隔用于主题和队列的网络连接器。

尽管我更喜欢指定[type]:-> [destination broker],但名称可以是任意的。

URI属性指定如何连接到broker-2

  • 开始经纪人2
Ashwinis-MacBook-Pro:bin akuntamukkala$ pwd
/Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/bin
Ashwinis-MacBook-Pro:bin akuntamukkala$ ./broker-2 console
  • 开始经纪人1
Ashwinis-MacBook-Pro:bin akuntamukkala$ pwd
/Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-1/bin
Ashwinis-MacBook-Pro:bin akuntamukkala$ ./broker-1 console

在broker-1上的日志显示了与broker-2建立的2个网络连接器

INFO | Establishing network connection from vm://broker-1?async=false&network=true to tcp://localhost:61626INFO | Connector vm://broker-1 StartedINFO | Establishing network connection from vm://broker-1?async=false&network=true to tcp://localhost:61626INFO | Network connection between vm://broker-1#24 and tcp://localhost/127.0.0.1:61626@52132(broker-2) has been established.INFO | Network connection between vm://broker-1#26 and tcp://localhost/127.0.0.1:61626@52133(broker-2) has been established.

broker-1上的Web控制台@ http:// localhost:8161 / admin / connections.jsp显示了已建立到broker-2的两个网络连接器

经纪人1-NC

broker-2上的相同内容未显示任何网络连接器,因为broker-2没有启动任何网络连接器

让我们看看这个动作

让我们在broker-1的名为“ foo.bar”的队列上产生100条持久消息。

Ashwinis-MacBook-Pro:example akuntamukkala$ pwd
/Users/akuntamukkala/apache-activemq-5.8.0/example
Ashwinis-MacBook-Pro:example akuntamukkala$ ant producer -Durl=tcp://localhost:61616 -Dtopic=false -Ddurable=true -Dsubject=foo.bar -Dmax=100

broker-1 Web控制台显示已将100条消息放入队列“ foo.bar”

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

broker-1-100msgs生产

让我们在broker-2的名为“ foo.bar”的队列上启动一个使用者。 这里要注意的重要一点是目标名称“ foo.bar”应该完全匹配。

Ashwinis-MacBook-Pro:example akuntamukkala$ ant consumer -Durl=tcp://localhost:61626 -Dtopic=false -Dsubject=foo.bar

我们发现来自broker-1的foo.bar队列的所有100条消息都转发到了broker-2的foo.bar队列使用方。

位于http:// localhost:8161 / admin / queues.jsp的broker-1管理控制台

broker-1-100msgs已用

broker-2管理控制台@ http:// localhost:9161 / admin / queues.jsp显示,我们启动的使用者已经使用了从Broker-1按需转发的所有100条消息

broker-2-出队

foo.bar队列上的broker-2消费者详细信息

经纪人-2消费者细节

broker-1管理控制台显示所有100条消息都已出队[已通过网络连接器转发到broker-2]。

broker-1-nc队列消费者

“ foo.bar”队列上的broker-1使用者详细信息显示该使用者是按需创建的:[连接器名称] _ [目标代理] _inbound_

broker-1-nc消费者详细信息

因此,我们已经了解了ActiveMQ中网络连接器的基础。

请继续关注第2部分…

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

activemq网络桥接

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

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

相关文章

[渝粤教育] 西安交通大学 土力学 参考 资料

教育 -土力学-章节资料考试资料-西安交通大学【】 作业题 章测题 1、【多选题】下列哪些工程问题与岩土工程密切相关&#xff08;&#xff09; A、基坑开挖 B、公路路基 C、浇筑楼层 D、钢结构设计 参考资料【 】 2、【判断题】通常把在土木工程建设中涉及岩石、土、地下水中的…

迷你型MINI光纤收发器的优势有哪些?

现如今&#xff0c;在互联网盛行的今天&#xff0c;我们平时所使用的网络都离不开收发器的作用&#xff0c;收发器有很多种&#xff0c;随着对网络容量的需求急剧增大&#xff0c;收发器由POE收发器衍生出非网管型、网管型以及迷你型等光纤收发器&#xff0c;接下来飞畅科技的小…

[渝粤教育] 西安理工大学 人工智能导论 参考 资料

教育 -人工智能导论-章节资料考试资料-西安理工大学【】 第一讲 人工智能概述单元测试 1、【单选题】人工智能中通常把&#xff08; &#xff09;作为衡量机器智能的准则。 A、图灵机 B、图灵测试 C、中文屋思想实验 D、人类智能 参考资料【 】 2、【单选题】人工智能的目的是让…

JDK 14的征兆开始出现

JDK 13当前处于Rampdown第一阶段 &#xff08;RDP 1&#xff09;&#xff0c;计划在一周多一点的时间&#xff08;2019年7月18日&#xff09;进入Rampdown第二阶段 &#xff08;RDP 2&#xff09;&#xff0c;并且暂定于2019年9月17日正式上市。当然&#xff0c;这意味着是时候…

[渝粤教育] 郑州大学 互联网国际政治学 参考 资料

教育 -互联网国际政治学-章节资料考试资料-郑州大学【】 第一章 单元测验 1、【单选题】&#xff08; &#xff09;年&#xff0c;中国接入国际互联网&#xff0c;这是中国互联网发展史上具有里程碑意义的一天&#xff0c;标志着中国正式成为国际互联网的一员。 A、1994 B、198…

千兆光纤收发器测试标准及参数

现如今&#xff0c;千兆网技术已成为新建网络和改造的首选技术&#xff0c;虽然对综合布线系统的性能要求也提高&#xff0c;但是却给用户的使用和以后的升级提供便利。但是&#xff0c;在千兆网综合布线系统施工过程中我们必须对光纤收发器进行测试&#xff0c;以保证整个布线…

[渝粤教育] 郑州财税金融职业学院 大学生创新创业教育 参考 资料

教育 -大学生创新创业教育-章节资料考试资料-郑州财税金融职业学院【】 第一章 单元测验 1、【单选题】__________对于__________就像导线对于电流一样。 A、光纤、光 B、电话、线路 C、闸门、水 D、草原、马 参考资料【 】 2、【单选题】以下5个能源有1种与其他4种差别最大&am…

[渝粤教育] 重庆工业职业技术学院 微观经济学 参考 资料

教育 -微观经济学-章节资料考试资料-重庆工业职业技术学院【】 第一章作业 第一章单元测试 1、【单选题】现有资源不能充分满足人的欲望被称为&#xff08; &#xff09;。 A、稀缺性 B、机会成本 C、生产什么 D、生产成本 参考资料【 】 2、【单选题】经济学研究的是 A、生产什…

jdk8 接口默认方法_JDK 8中方便的新地图默认方法

jdk8 接口默认方法Map接口在JDK 8中提供了一些方便的新方法 。 因为我在本文中介绍的Map方法是作为默认方法实现的&#xff0c;所以Map接口的所有现有实现都享有在默认方法中定义的默认行为&#xff0c;而无需任何新代码。 本文中介绍的JDK 8引入的Map方法是getOrDefault&#…

什么是千兆光纤收发器?其产品标准具体有哪些?

现如今&#xff0c;千兆网技术已成为新建网络和改造的首选技术&#xff0c;虽然对综合布线系统的性能要求也提高&#xff0c;但是却给用户的使用和以后的升级提供便利。千兆光纤收发器又名光电转换器&#xff0c;是一种快速以太网&#xff0c;其数据传输速率达1Gbps,仍采用CSMA…

[渝粤教育] 南方医科大学 医学统计学 参考 资料

教育 -单元机组集控运行A-汪淑奇-热动3-4班-章节资料考试资料-长沙理工大学【】 随堂测验 教育 -医学统计学-章节资料考试资料-南方医科大学【】 第一章单元测试 1、【单选题】 调查某地1000人发汞水平&#xff0c;以发汞含量小于2.6 μg/kg 为正常&#xff0c;大于等于这个值…

微信公众号如何增加查题功能(无广告查题)

这几天很多小伙伴都不知道怎么将查题的功能绑定到自己机构的微信公众号上&#xff0c;林林总总收到了很多小伙伴的反馈&#xff0c;现在直接给各位发送操作流程&#xff0c;希望大家一次性绑定上&#xff01;&#xff08;流程之后还有一些解答&#xff09; 1&#xff1a;网址&a…

千兆光纤收发器调整措施

千兆光纤收发器&#xff08;又名光电转换器&#xff09;是一种快速以太网&#xff0c;其数据传输速率达1Gbps,仍采用CSMA/CD的访问控制机制并与现有的以太网兼容&#xff0c;在布线系统的支持下&#xff0c;可以使原来的快速以太网平滑升级并能充分保护用户原来的投资。那么&am…

Spring Boot YAML配置

在本快速教程中&#xff0c;我们将学习如何使用YAML文件来配置Spring Boot应用程序的属性。 什么是YAML文件&#xff1f; 除了可以在Spring中没有应用程序.properties之外 &#xff0c;我们还可以使用application.yml作为配置文件。 YAML是JSON的超集&#xff0c;我们可以将其…

千兆网综合布线系统的线缆选型

综合布线系统包含建筑群布线子系统、建筑物主干布线子系统、水平布线子系统&#xff08;包含工作区电缆&#xff09;三大布线子系统。千兆网综合布线系统除具有一般快速以太网综合布线系统设计的特点之外&#xff0c;更重要的是要合理选择UTP、光缆及接插件。 1、光缆的选择 光…

hibernate数据类型_Hibernate类型初学者指南

hibernate数据类型基本映射概念 学习Hibernate时&#xff0c;许多人喜欢跳到父子关联&#xff0c;而无需掌握对象关系映射的基础知识。 在开始对实体关联进行建模之前&#xff0c;了解各个实体的基本映射规则非常重要。 Hibernate类型 Hibernate类型是SQL类型和Java原语/对象类…

如何快速区分单模与多模光纤收发器?

现如今&#xff0c;光纤收发器的应用范围是越来越广泛了&#xff0c;但是市场上大多数品牌的光纤收发器外观都差不多&#xff0c;那么&#xff0c;我们在使用光纤收发器的过程中该如何辨别单模和多模光纤收发器呢&#xff1f;接下来就跟随飞畅科技的小编一起来详细了解下吧&…

什么是HDMI光纤延长器?其应用场合有哪些?

在信号数据传输中&#xff0c;我们常常听到的都是光模块、光纤、光缆等器件&#xff1b;在本文中&#xff0c;杭州飞畅科技给大家介绍的是另外一款数据传输产品——光纤延长器。那么&#xff0c;到底什么是光纤延长器呢&#xff1f;它应用场合有哪些呢&#xff1f;接下来我们就…

Spring与Rails的jQuery UJS

我一直想尝试一下是否可以在Spring Boot项目中使用Rails的jQuery UJS 。 jquery-ujs中的UJS代表不引人注目JavaScript 。 我非常喜欢UJS如何将事件处理程序连接到标记有HTML5 data-*属性的合格DOM元素。 我发现自己希望看到更多在Spring Boot Web应用程序中使用的这种方法。 我…

什么是VGA光纤收发器?

采用先进的非压缩数字高清视频和高速数字光纤传输技术&#xff0c;可以轻松地将计算机主机、高清视频信号源、高清DVD/DVR等设备输出的各种分辨率的VGA高清视频信号长距离传输到远端的器件。那么&#xff0c;VGA光纤收发器的产品特点及技术参数有哪些呢&#xff1f;接下来我们就…