activemq 持久订阅_ActiveMQ群集,持久订阅者和虚拟主题可助您一臂之力

activemq 持久订阅

因此,您希望使用ActiveMQ跨分布式主题进行发布-订阅,并且要可靠。 您可以使用永久订阅,对吗? 可以,但是,如果您将群集与ActiveMQ一起使用,则可能会遇到意外的行为。 我最近在一个客户端上,我注意到了这一行为,并且还注意到在使用Weblogic JMS集群时也存在相同的行为。 那么问题是什么,ActiveMQ可以解决什么问题呢? 好吧,我假设您已经读过标题,所以您可能有个主意……但我还是会继续前进……

考虑这种情况。 您有经纪人A和经纪人B。它们在两个方向上都联网在一起,形成一个完全网格类型的经纪人网络 。 又名,群集。 然后,您将使用故障转移URL failvoer:(tcp://hostA,tcp://hostB)拥有一个订户FOO。 这意味着订阅者将从故障转移传输中的节点列表中随机选择一个URL,然后连接到该代理。 到目前为止,一切都很好。 假设故障转移URL选择了要连接的代理B,并且订阅者在代理B上创建了对主题TEST.TOPIC的持久订阅。在TEST.TOPIC ,代理网络将确定B上有一个新的TEST.TOPIC 。因此,如果经纪人A上有任何生产者,那么经纪人A应该将消息转发给经纪人B(消费者在哪里)。

现在让我们说订户FOO决定断开与代理B的连接。这是很好的,因为这是持久预订,因此消息应保留,并且如果订户FOO返回,则它应该能够检索传递到主题TEST.TOPIC任何消息。 TEST.TOPIC不在时。 但是,如果订户FOO使用故障转移传输直接连接到代理A,会发生什么? 最终将创建一个新的持久订阅(它不会使用与网络创建的持久订阅相同的..,因为该用户与网桥相关联),但是它将无法访问代理中可能存在的任何消息B.当制片人发送更多的消息给A,它也将尝试着给经纪人B的是在那里用户原是 。 现在想象一下可以连接,断开连接并重新连接到集群中不同代理的多个订户。 您最终将因订阅泄漏而到处丢失消息。 uck 这同样适用于真实的故障情况,在这种情况下,订户FOO不会自愿断开连接,而是代理B崩溃,而订户FOO被迫重新连接到代理A。您仍然会丢失消息。

好吧,事实证明,这种行为在具有分布式主题的Weblogic服务器和集群JMS服务器上也存在(大致相当于我上面描述的代理网络)。 那么,我们将不能可靠地进行分布式发布订阅吗? 好吧,我不确定WLS如何解决它,但是ActiveMQ有一个很棒的解决方案叫做Virtual Topics 。 对于分布式pup-sub来说,这是一个很棒的功能,但即使在单代理部署中,它也克服了持久订阅者的限制。

有什么限制?

考虑这一点…您正在使用主题TEST.TOPIC.的持久订阅者TEST.TOPIC. 事实证明,对消息的处理要花很长时间,因此您希望让另一个订户在同一消息通道上侦听以“平衡”工作负载。 试试吧。 您会很快发现JMS规范不允许这样做,因为持久订阅者必须具有唯一的clientIddurableName并且不能有多个订阅者在侦听相同的消息流。

那么,您如何在池化连接的应用程序服务器中部署订户。 您正在尝试在多个持久订户之间共享连接。 好了,您将再次遇到持久订阅者clientId和持久名称的限制。

因此,回到我们的分布式发布订阅问题。 如果使用虚拟主题,则可以解决我上面描述的问题。 虚拟主题在幕后使用队列(对于消费者来说……请阅读虚拟主题上的Apache文档,它有一些很棒的示例),使用队列,您可以将消息重播给您(例如,当订户重新连接到A时,它是消息不会丢失,因为可以重播消息),或者如果B代理由于某种原因而发生故障(失败),则可以让一个从属服务器在其位置等待重播否则可能丢失的消息。 有关更多详细信息,请查看有关具有持久订阅者的分布式主题的ActiveMQ常见问题解答,因为我现在就开始编写它。

参考: ActiveMQ群集,持久订阅者和虚拟主题,可从Christian Posta Software博客的JCG合作伙伴 Christian Posta那里抢救出来。

翻译自: https://www.javacodegeeks.com/2013/02/activemq-clustering-durable-subscribers-and-virtual-topics-to-the-rescue.html

activemq 持久订阅

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

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

相关文章

会计电算化算不算计算机专业,成都会计学校会计电算化专业介绍

由于会计的火热,有很多同学都在咨询老师想要了解成都会计学校会计电算化专业,老师也整理了相关内容为同学们作为参考,希望对同学们有所帮助。就是将计算机信息技术应用到会计实务中,实现对会计信息的管理。会计电算化从20世纪50年…

给APK签名,修改签名

简介: 本来是不需要签名的,但是我有个android的专用设备,限制安装,但是售后给我通过了一个证书的验证。 那么我想装什么软件,就需要这个证书验证。 现在记录一下签名的主要过程,还有修改签名的方法。 一&am…

Neo4j:Cypher –删除重复的节点

我最近在处理的图上遇到问题,因为我没有应用任何唯一的约束 ,我设法创建了重复的节点。 我想删除重复项,并遇到了吉米鲁茨(Jimmy Ruts)的精彩文章 ,其中显示了一些方法。 让我们首先创建一个包含一些重复…

计算机学英文是什么,“计算机科学与技术专业本科课程”的英文翻译是什么?...

1计算机导论 Intorduction of Computer2高等数学 Avanced Mathematics3线性代数 Linear Alberia4离散数学 Discrete Mathematics5数值分析 Numerical value Analysis6大学英语 Colleage English7模拟电子电路 Analog Electronic Circuit8数字电子电路 Digital Electronic Circu…

Pearson相关系数 - Pearson's Correlation Coefficient

Pearson相关系数用来衡量两个数据集合是否在一条线上面。其计算公式为:一个具体的计算的例子:X Y1 22 53 6原文地址:http://woodstudio.javaeye.com/blog/141005 转载于:https://www.cnblogs.com/cmleung/archive/2009/12/09/1619922.html

swfobject.embedSWF属性与用法

swfobject.embedSWF属性与用法2010-06-29 09:47/点击数( 2218)swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes)有5个必须的参数和4个可选的参数: swfUrl(String,必须的&#…

台式计算机装机软件选择,装机软件哪个好?小编教你最好的装机软件推荐

金山重装高手是一款傻瓜式重装系统软件,一键系统重装,解决系统慢、卡、报 错、蓝屏等问题。电脑使用时间长了会让系统运行变得缓慢,通常我们都会对系统进行重装,很多用户对重装系统一窍不通,不敢动手操作,那…

Vaadin提示:以声明方式构建UI

如果您使用了GWT,那么您可能会发现UiBinder对于设计复杂的UI很有用。 在有关Vaadin的系列文章中,我们希望在Vaadin和GWT之间得出相似之处。 Vaadin提供了多种开箱即用的工具和组件,用于构建复杂且美观的UI。 其中之一是可以像UiBinder那样声明…

奇怪的道路

DeepinC的题解 考场AC nb%%%%%%%%%%%%%%%%%% 2019/4/27Day1 T3 奇怪的道路step1&#xff1a;复杂度分析1< n < 30, 0 < m < 30, 1 < K < 8.按照习惯&#xff0c;正解复杂度一般在1e6-1e8级别而且往往复杂度关系最大的就是最小的那个数对&#xff0c;抓住那个…

江苏省专转本计算机题知识点,江苏专转本计算机真题17

61、在Word 2003中&#xff0c;下列关于查找操作的叙述&#xff0c;正确的是 。A、使用查找命令时&#xff0c;可以区分全角和半角字符&#xff0c;但不能区分大小写B、不支持用通配符来描述查找内容C、查找时只能从文档开始处进行D、除了可以按文字的内容进行查找&#xff0c;…

圣杯布局总结

1.左侧定宽,右侧自适应布局 html部分 <div class"parent"><div class"layout_left">左边宽度固定</div><div class"layout_main">主内容宽度自适应</div> </div>  css部分 <style>*{margin:0;paddin…

数据包捕获计算机网络实训,计算机网络-使用网络协议分析器捕捉和分析协议数据包...

广州大学学生实验报告开课学院及实验室&#xff1a;计算机科学与工程实验室2014年11月28日一、实验目的(1)熟悉ethereal的使用(2)验证各种协议数据包格式(3)学会捕捉并分析各种数据包。二、实验环境1&#xff0e;MacBook Pro2&#xff0e;Mac OS 10.10.13..Wireshark三、实验内…

背压加载文件– RxJava常见问题解答

事实证明&#xff0c;将文件作为流进行处理非常有效且方便。 许多人似乎忘记了&#xff0c;自Java 8&#xff08;3年多&#xff01;&#xff09;以来&#xff0c;我们可以很容易地将任何文件变成一行代码&#xff1a; String filePath "foobar.txt"; try (Buffered…

CISCN final 几道web题总结

因为都有源码&#xff0c;所以这里直接从源码开始分析&#xff1a; 1.Easy web 这道题本来的意思应该是通过注入来load_file读取config.php来泄露cookie的加密密钥&#xff0c;从而伪造身份进行登陆再上传shell 这里本来addslashes以后就基本没法注入&#xff0c;但是这里却多了…

初一计算机下册理论知识,初中信息技术七年级下册(第七版)

内容简介暂无内容目录1  计算机图片与动画 ……………………………………………11.1  图片处理 ……………………………………………………11.1.1  活动 …………………………………………………………1活动1  制作校园风景人物画册 …………………………………1活动2  制…

南邮计算机学院是211,南京邮电大学是211还是985

南京邮电大学曾经是双非高校&#xff0c;目前进入了世界学科建设高校。而南京农业大学是211工程大学&#xff0c;现在也是世界学科建设高校。从学校的牌子上来看&#xff0c;南京农业大学要更具有影响力。而我们今天要和大家分享的是南京邮电大学&#xff0c;那问题来了南京邮电…

java 运行 .jar 文件乱码

http://yang3wei.github.io/blog/2013/02/10/java-dfile-dot-encoding-equals-utf-8-gan-diao-luan-ma/ 启动时加参数-Dfile.encodingUTF-8转载于:https://www.cnblogs.com/easyc/p/6385385.html

php cdi_涉及CDI和JSF的过期对话的定制错误页面

php cdi自上次写博客以来已经有一段时间了。 我一直在想写一些技术博客&#xff0c;但最终却忙于其他事情。 上周&#xff0c;在Coderanch论坛上进行了非常有趣的讨论。 甚至更有趣&#xff0c;因为它涉及JBoss。 熟悉Java EE Web应用程序的开发人员会知道&#xff0c;Web应用…

石家庄计算机职业学院张秋玉,九龙坡有什么大学

2019九龙坡有哪些大学&#xff1f;九龙坡所有大学名单【教育部最新8所】九龙坡有哪些大学是广大考生和家长朋友们比较关心的&#xff0c;以下是教育部最新公布的九龙坡所有大学名单&#xff0c;包含一本、二本、三本和大专总共8所大学&#xff0c;仅供参考。2019九龙坡大学名单…

struts2.3.4 问题

原问题为&#xff1a;严重: Exception starting filter struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 详细请参见http://q.cnblogs.com/q/38309/ 刚开始以为是struts2.3.4的问题&#xff0c;但最终发现为…