文档章节

简单总结一下 ActiveMQ 的 VirtualTopic 机制

编走编想
 编走编想
发布于 2016/09/14 15:11
字数 275
阅读 185
收藏 0

文档地址:http://activemq.apache.org/virtual-destinations.html

项目中有在使用,所以总结一下。

JMS 有 Topic 这个概念,这是所有了解 JMS 都知道的一个概念。但是可持久化的 Topic 在 JMS 规范中有个限制,那就是对于同一个 Client ID 的 Subscriber,同一时刻只能有一个是有效的。这就造成如果直接使用 Topic,负载均衡等特性就无法实现。但是 Queue 没有这个限制。

解决这个问题有两种方法,一种是用不同的 Client ID(动态生成),另一个就是使用 ActiveMQ 的 VirtualTopic。

默认配置下,一个 Destination 配置成 VirtualTopic.xxx 的名字时,订阅类似 Consumer.A.VirtualTopic.xxx、Consumer.B.VirtualTopic.xxx、Consumer.C.VirtualTopic.xxx 等 Queue 的消费者都会受到这个 VirtualTopic 的消息(每个 Queue 里还是只有一个 Consumer 能收到消息。类似与 Kafka 的 Consumer Group)。这样就解决了持久化的 Topic Client ID 唯一有效的限制。

我觉得这个概念大概了解就可以了。现在 ActiveMQ 正在越来越多地被 RabbitMQ 和 Apache Kafka 取代。

© 著作权归作者所有

编走编想
粉丝 150
博文 128
码字总数 111395
作品 0
海淀
程序员
私信 提问
Linux环境下Apache ActiveMQ 基本安装

在linux上安装mq,并映射到外网。 1.Apache ActiveMQ安装基本条件请参考链接: 2.下载Apache ActiveMQ 3.解压安装 将下载好的apache-activemq-5.13.3-bin.tar解压至安装目录 命令:tar -zxvf...

zhuyuansj
2018/04/02
0
0
SpringBoot整合ActiveMQ消息队列

首先要讲什么是ActiveMQ:AciveMQ是Apache出品的目前最流行,能力强劲的开源消息总线 主要功能: 1、 解决服务之间代码耦合 2、 使用消息队列,增加系统并发处理量 主要应用场景: 1、 当系统...

逆风局局长熊
2018/12/06
0
0
ActiveMQ 和 HawtIO

本着在发行版本代替老旧和操作不灵活的网页控制台 的想法, 我们在 ActiveMQ 5.9.0版本作为技术预览推出了 HawtIO 控制台。不幸的是,这一想法在Apache 社区其余部分进展不顺,因为投票没通过...

oschina
2014/05/03
2.4K
1
跟我学习dubbo-ActiveMQ的安装-单节点与使用(9)

ActiveMQ 的安装与使用(单节点) 1、 安装 JDK 并配置环境变量 JAVA_HOME=/usr/local/java/jdk1.7.0_72 2、 下载 Linux 版的 ActiveMQ(当前最新版 apache-activemq-5.11.1-bin.tar.gz) $ ...

HI曲奇饼干
2016/01/19
238
0
平台使用Activemq传递消息在机器上部署应用后,如果在机器端删除应用,如何通知平台更改其状态

我是一名学生,最近在学习Activemq这个消息中间件,简单的单向传递消息什么的已经弄明白了,但是我知道那些应用托管平台也都是使用activemq来传递消息进行自己应用的部署,那么当平台使用Act...

向昊
2016/03/02
386
1

没有更多内容

加载失败,请刷新页面

加载更多

G1 垃圾收集器介绍-转

https://www.cnblogs.com/ASPNET2008/p/6496481.html

Java搬砖工程师
33分钟前
1
0
超高性能 key-value 数据库 Redis-基础数据结构

Redis的魅力 缓存大致可以分为两类:1.一种是应用内缓存,比如Map(简单的数据结构),以及EH Cache(Java第三方库);2.另一种 就是缓存组件,比如Memached,Redis;Redis(remote dictiona...

须臾之余
44分钟前
3
0
Mysql表分区的选择与实践小结

在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快。这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈。 一. 选择合适的解决方法 1....

小谜弟
50分钟前
3
0
为 git 添加多个公秘钥

如果想为主机配置多个git设置,设置多个git公、秘钥,只需在生成密钥时指定密钥保持的文件即可,保证保存密钥的文件不同即可。 示例: ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f...

niithub
51分钟前
2
0
walle-web 2.0安装流水

一、环境安装 VMware Workstation,centos7.6 64位,lnmp1.5 二、安装lnmp1.5 wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1......

我心中有猛狗
52分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部