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

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

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

相关文章

JQ实现情人节表白程序

JQ实现情人节表白页面 效果图&#xff1a; 表白利页&#xff0c;你值得拥有哦&#xff01; 代码如下&#xff0c;复制即可使用&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <title>JQ实现情人节表白程序<…

php 内部异步执行顺序,event_loop中不同异步操作的执行顺序

关于js的单线程、怎么创建一个异步任务都是老生常谈的话题了&#xff0c;我们今天就总结一下js不同的异步操作到底执行顺序如何。首先我们要明白js两种任务类型&#xff0c;一个是macrotask(宏任务)&#xff0c;一个是 microtask(微任务)。一个宏任务就是一个事件循环&#xff…

OpenGPU.org域名已经被劫持

这个域名被指向了上海黄浦区某地。 此时此刻&#xff0c;我的心情无比激动&#xff0c;“这年头&#xff0c;你要是不被‘墙’了&#xff0c;都不好意思出门”。 This domain name had been redirected to Shanghai, PRC. At this moment, I’m really excited that it’s my h…

Java 8日期时间API教程:LocalDateTime

该博文是Java 8中引入的有关Date Time API的系列教程的一部分。在本博文中&#xff0c;我将介绍LocalDateTime类中可用的一些方法。 LocalDateTime是一个不可更改的线程安全对象&#xff0c;它表示ISO-8601日历系统中没有时区的日期时间&#xff0c;例如2014-03-30T02&#xf…

消息队列使用的四种场景介绍(转)

消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合&#xff0c;异步消息&#xff0c;流量削锋等问题 实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构 使用较多的消息队列有ActiveMQ&#xff0c;RabbitMQ&#xff0c;ZeroMQ&#xff0c;Ka…

一步一步SharePoint 2007之三十一:实现文档Event Handler(3)——附加Handler程序

摘要  本篇文章将介绍实现文档Event Handler的第三部分——附加Handler程序。正文  下面将记录每一步的操作过程。  1、首先打开我的网站&#xff0c;依次点击Document Center、Documents&#xff0c;进入Documents列表页面。  2、在Documents列表界面中点击Settings&a…

oracle数据库swap占用率高,物理内存空余很多,swap被持续占用的问题

本帖最后由 wyanghu 于 2012-8-18 10:21 编辑这套生产环境跑在vmware esx虚拟机上&#xff0c;现在遇到的问题是&#xff1a;操作系统内存空余很大&#xff0c;但swap被持续占用&#xff0c;直到swap被占完&#xff0c;估计系统就崩溃了。下面是我的操作系统参数及oracle参数&a…

Day2 HTML基本标签元素

Day2 HTML基本标签元素 HTML: 超文本标记语言(HyperText Mark-up Language ) 1.作用&#xff1a;写网页结构    2.HTML不区分大小写&#xff0c;建议小写   3.文件后缀 .html 或者 .htm   4.html由浏览器解析执行. 由上往下&#xff0c;由左往右 1) HTML标…

C# 如何跨平台调用C++的函数指针!

函数指针搞C的人应该都知道&#xff0c;效率高&#xff0c;易用性强&#xff0c;隐蔽代码等。在C里面调用C写的dll的函数指针那是在容易不过了。使用C#就稍微麻烦点了&#xff01;那怎么掉呢&#xff1f;通过上面的第一篇文章我们知道应该使用委托 delegate。如果再高级点&…

Java hashCode() 和 equals()的若干问题解答

本章的内容主要解决下面几个问题&#xff1a; 1 equals() 的作用是什么&#xff1f; 2 equals() 与 的区别是什么&#xff1f; 3 hashCode() 的作用是什么&#xff1f; 4 hashCode() 和 equals() 之间有什么联系&#xff1f; https://www.cnblogs.com/skywang12345/p/3324958.…

Builder模式和Spring框架

介绍 每当对象同时具有强制属性和可选属性时&#xff0c;我都喜欢使用构建器模式 。 但是构建对象通常是Spring框架的责任&#xff0c;因此让我们看看如何同时使用基于Java和XML的Spring配置来使用它。 建造者的例子 让我们从下面的Builder类开始。 public final class Confi…

php数据库中统计人数用什么方法,在PHP中处理用户统计信息的最佳方法是什么

我如何处理 PHP中的用户统计信息&#xff1f;我可以选择两种明显的方法.两者都有缺陷.>必要时选择MySQL COUNT.这里的缺陷是,如果你要计算很多行,那么它可能会很慢,特别是当你必须在看似每个页面加载时这样做.好处是计数总是正确的.>将用户统计信息存储在统计信息表中.这…

作用域、执行环境、闭包(四)

本文也同步发表在我的公众号“我的天空” 上一期我们已经介绍了闭包&#xff0c;由于闭包可以延长函数内部的变量的生存周期&#xff0c;因此我们可以将不需要暴露在全局的变量封装成函数的内部变量&#xff0c;从而避免代码污染。 譬如要实现一个简单的累加器&#xff0c;为了…

今天发布了一个新的网站矩阵www.wimatrix.cn

关于科技生活新知的&#xff0c;digg类型&#xff0c;欢迎朋友们来访问&#xff0c;并提出宝贵的意见网址是 http://www.wimatrix.cn 转载于:https://www.cnblogs.com/liugod/archive/2007/09/29/910637.html

[Bzoj2243][SDOI2011]染色(线段树树剖)

题目链接&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id2243 线段树树链剖分&#xff0c;在线段树需要每次用lt和rt两个数组记录当前区间的左右边界的颜色&#xff0c;向上更新时需要判断左区间的右边界是否和右区间的左边界相等。在剖分求LCA的过程中需要在求…

php static_castunsigned int,C++ static_cast、dynamic_cast、const_cast和reinterpret_cast(四种类型转换运算符)...

上节讲到&#xff0c;隐式类型转换是安全的&#xff0c;显式类型转换是有风险的&#xff0c;C语言之所以增加强制类型转换的语法&#xff0c;就是为了强调风险&#xff0c;让程序员意识到自己在做什么。但是&#xff0c;这种强调风险的方式还是比较粗放&#xff0c;粒度比较大&…

NetBeans IDE 8.0和Java 8的新功能

NetBeans IDE 8.0已发布&#xff0c;还为Java 8技术提供了新功能。 它具有用于与Java SE 8&#xff0c;Java SE Embedded 8和Java ME Embedded 8配合使用的代码分析器和编辑器。IDE还具有新的增强功能&#xff0c;这些功能进一步改善了其对使用PrimeFaces对Maven和Java EE的支持…

AngularJS(九):路由

本文也同步发表在我的公众号“我的天空” AngularJS路由 AngularJS路由可以让我们通过不同的URL访问不同页面&#xff08;似乎是废话&#xff09;&#xff0c;其价值主要体现在单页面的web应用中&#xff08;single page web application&#xff0c;SPA&#xff09;&#xff0…

(转)Oracle中实现行列转换的方法

(转自)http://blog.csdn.net/Torrice/archive/2006/01/25/587986.aspx 我们在写SQL语句的时候经常需要用到行与列的转换问题&#xff0c;对于一个新手来说可能比较困难&#xff0c;其实你只要能够熟练运用Decode和Sum函数&#xff0c;这个问题就迎刃而解. Create table tes…

[C3W2] Structuring Machine Learning Projects - ML Strategy 2

第二周&#xff1a;机器学习策略&#xff08;2&#xff09;&#xff08;ML Strategy&#xff08;2&#xff09;&#xff09; 误差分析&#xff08;Carrying out error analysis&#xff09; 你好&#xff0c;欢迎回来&#xff0c;如果你希望让学习算法能够胜任人类能做的任务&a…