图一
自动这个功能一直给人一种有点“神奇”的感觉,尤其是真正好用的自动功能。我们在activeMQ中就出现了自动发现功能,下面我们具体分析一下该功能的实现原理。
为了便于说明,我们用图一所示的消息传输拓扑图来进行分析。图中有两个activeMQ、一个客户端(消息发送者/消费者)。我们使用activeMQ的自动发现功能让它们来发现彼此的存在。自动发现功能的好处在activeMQ里面,我想主要能使用在当目前的activeMQ集群处理能力不行的时候,可以动态加入新的activeMQ来分担负载,这就可以很好的水平扩展。
首先,我们对图一中的带颜色部分做一个说明,带颜色的小矩形都代表着能发送和接收广播数据包的通讯端口,有‘S’标志的表示该端口主要向外发送广播数据包,有‘R’表示该端口只接收广播数据包。具体自动发现过程描述如下:activeMQ通过端口向外广播它们自己,当某activeMQ收到一个广播包后,解析该广播包,并从中建立activeMQ之间的通讯桥梁。而当某客户端收到包含activeMQ的基本信息的广播包后,它也会把这个信息保存住,在需要进行重连接的时候进行重连接。
讲到activeMQ的自动发现功能,我们就不得不说到它的配置文件,具体内容如下:
1.如果想拥有向外发送广播信息的话,也就是图中带‘S’的端口,修改配置文件中的< transportConnector …/>,这个地方得加一个参数discoveryUri="multicast://default"。
2.如果某activeMQ想能自动发现其他activeMQ,也就是图中带‘R’的端口,修改配置文件中的<networkConnector …/>,这个地方uri要类似这样设置uri="multicast://default"。
activeMQ在实现的时候也有点意思,我们所说的带‘S’或带‘R’的端口,它们的功能都在同一个类中实现:MulticastDiscoveryAgent。而客户端的相关实现,则在FailoverTransport类中完成主要功能。
- 大小: 34.3 KB
分享到:
相关推荐
总的来说,"activemq_activemq_doublezoo_源码"涵盖了ActiveMQ的核心功能和它在实际开发中的应用,特别是与Spring框架的集成,这对于理解如何在实际项目中部署和使用ActiveMQ是非常有价值的。通过深入研究源码,...
而Spring框架,作为一个Java平台的全功能模块化解决方案,提供了与ActiveMQ集成的能力,让开发者能够轻松地在Spring应用中使用消息队列。本篇将深入探讨Spring与ActiveMQ的集成及其配置过程。 首先,理解Spring与...
ActiveMQ是Apache软件基金会旗下的一个开源消息中间件,它实现了Java消息服务(JMS)规范,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。JMS规范定义了一套API,用于在两个应用程序之间或者...
在"activemq-jmdns_1.0-4.1.2.jar"中,ActiveMQ的JMDNS实现可能包含了实现多播DNS服务发现所需的所有类和资源,使得ActiveMQ可以在本地网络中利用JMDNS功能,如动态注册和发现其他ActiveMQ节点或服务。 "license....
ActiveMQ是一款功能强大的开源消息代理,支持多种协议,如OpenWire、STOMP、AMQP、MQTT等,适用于多种应用场景,包括点对点和发布/订阅模式的消息传递。其特性包括:高可用性、持久化、事务处理、安全控制以及丰富的...
标签:activemq-jmdns_1.0-5.4.0-sources.jar,activemq,jmdns_1.0,5.4.0,sources,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.0-javadoc.jar,activemq,jmdns_1.0,5.4.0,javadoc,jar包下载,依赖包
本指南将带你逐步了解如何开始使用ActiveMQ,并深入探讨其核心功能和实践应用。 一、ActiveMQ简介 ActiveMQ是Apache软件基金会的一个项目,它遵循JMS规范,支持多种协议,包括OpenWire、STOMP、AMQP、MQTT和WS-...
ActiveMQ-CPP库是ActiveMQ的C++实现,它提供了一套完整的API,使开发者能够在C++应用程序中轻松地集成ActiveMQ的功能。这个库的3.6.0版本包含了丰富的功能,如连接管理、会话创建、消息生产与消费等,为开发者提供了...
使用者可以解压这个文件,将jar添加到他们的项目类路径中,以利用JMDNS的功能,例如在本地网络中自动发现和连接到ActiveMQ服务器。同时,开发者应仔细阅读"license.txt"以确保遵循正确的使用条款。
在ActiveMQ中结合JMDNS,可以实现自动网络发现和故障转移功能。当ActiveMQ实例运行在同一局域网中时,通过JMDNS,它们可以自动识别彼此并建立连接,无需手动配置IP地址。此外,如果一个ActiveMQ节点发生故障,其他...
这个压缩包`apache-activemq-5.0.0-src.zip`包含了ActiveMQ 5.0.0版本的源代码,对于开发者来说,这是一个深入理解其工作原理、定制功能或进行二次开发的重要资源。 源代码分析是理解软件设计思想和技术实现的关键...
本测试报告涉及到多个消息队列服务的安装部署及性能测试,包括ActiveMQ、HTTPSQS、Kestrel和MemcacheQ。下面将对这些知识点进行详细的阐述。 首先,ActiveMQ是Apache软件基金会开发的一款开源消息代理,它是基于...
在本压缩包"lwl-activemq.zip_activemq_collect6i1"中,包含了与ActiveMQ相关的源码以及启动和配置信息,特别是针对"collect6i1"的集成。以下将详细解析这些关键知识点。 1. **ActiveMQ消息发送源码**: ActiveMQ...
标签:activemq-jmdns_1.0-4.1.2.jar,activemq,jmdns_1.0,4.1.2,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.5.1.jar,activemq,jmdns_1.0,5.5.1,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.1.jar,activemq,jmdns_1.0,5.4.1,jar包下载,依赖包
标签:activemq-jmdns_1.0-5.4.0.jar,activemq,jmdns_1.0,5.4.0,jar包下载,依赖包