2022年activeMQ集群的使用与配置[归 .pdf
《2022年activeMQ集群的使用与配置[归 .pdf》由会员分享,可在线阅读,更多相关《2022年activeMQ集群的使用与配置[归 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 Clustering(集群 ) ActiveMQ 从多种不同的方面提供了集群的支持。1、 Queue consumer clusters ActiveMQ 支持订阅同一个 queue的 consumers上的集群。如果一个 consumer失效,那么所有未被确认(unacknowledged )的消息都会被发送到这个queue上其它的 consumers 。如果某个 consumer的处理速度比其它consumers更快,那么这个 consumer就会消费更多的消息。需要注意的是,笔者发现AcitveMQ5.0 版本的 Queue consumer clusters 存在一个 bug:采用
2、 AMQ Message Store,运行一个 producer,两个 consumer ,并采用如下的配置文件:Xml 代码 那么经过一段时间后可能会报出如下错误:ERRORActiveMQTransport:tcp:/127.0.0.1:1843-RecoveryListenerAdapter.java:58-RecoveryListenerAdapter Message id ID:versus-1837-1203915536609-0:2:1:1:419 could not be recovered from the data store! Apache官方文档说,此bug已经被修正,
3、预定在5.1.0 版本上体现。2、 Broker clusters 一个常见的场景是有多个JMS broker,有一个客户连接到其中一个broker。如果这个 broker 失效,那么客户会自动重新连接到其它的broker。在 ActiveMQ中使用 failover:/ 协议来实现这个功能。 ActiveMQ3.x 版本的 reliable:/协议已经变更为 failover:/。如果某个网络上有多个brokers而且客户使用静态发现(使用 Static Transport名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
4、心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 2 或 Failover Transport)或动态发现(使用Discovery Transport ) ,那么客户可以容易地在某个 broker 失效的情况下切换到其它的brokers。 然而,stand alone brokers并 不了 解其 它 brokers 上 的 consumers ,也 就是 说如 果 某个broker 上 没 有consumers ,那么这个 broker 上的消息可能会因得不到处理而积压起来。目前的解决方案是使用 Network of brokers, 以便在 b
5、roker 之间存储转发消息。 ActiveMQ在未来会有更好的特性,用来在客户端处理这个问题。从 ActiveMQ1.1 版本起, ActiveMQ 支持 networks of brokers。它支持分布式的 queues和 topics。一个 broker 会相同对待所有的订阅(subscription) :不管他们是来自本地的客户连接, 还是来自远程 broker,它都会递送有关的消息拷贝到每个订阅。远程broker 得到这个消息拷贝后,会依次把它递送到其内部的本地连接上。有两种方式配置Network of brokers,一种是使用 static transport,如下:Xml 代
6、码 另外一种是使用multicast discovery,如下:Xml 代码 . 9 Network Connector有以下属性:Property Default Value Description name bridge name of the network - for more than one network connector between the same two brokers - use different names dynamicOnly false if true, only forward messages if a consumer is active on th
7、e connected broker decreaseNetworkConsumerPriority false decrease the priority for dispatching to a Queue consumer the further away it is (in network hops) from the producer networkTTL 1 the number of brokers in the network that messages and subscriptions 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
8、 - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 3 can pass through conduitSubscriptions true multiple consumers subscribing to the same destination are treated as one consumer by the network excludedDestinations empty destinations matching this list wont be forwarded across the netwo
9、rk dynamicallyIncludedDestinations empty destinations that match this list will be forwarded across the network n.b. an empty list means all destinations not in the excluded list will be forwarded staticallyIncludedDestinations empty destinations that match will always be passed across the network -
10、 even if no consumers have ever registered an interest duplex false if true, a network connection will be used to both produce AND Consume messages. This is useful for hub and spoke scenarios when the hub is behind a firewall etc. 关于 conduitSubscriptions 属性,这里稍稍说明一下。设想有两个brokers,分别是 brokerA 和 broker
11、B,它们之间用forwarding bridge 连接。有一个 consumer连接到 brokerA 并订阅 queue:Q.TEST。有两个 consumers连接到 brokerB,也是订阅 queue : Q.TEST。 这三个 consumers有相同的优先级。然后启动一个 producer,它发送了 30 条消息到 brokerA。如果 conduitSubscriptions=true,那么 brokerA 上的 consumer会得到 15 条消息,另外 15 条消息会发送给 brokerB。此时负载并不均衡,因 为此时brokerA 将 brokerB 上 的两个consum
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年activeMQ集群的使用与配置归 2022 activeMQ 集群 使用 配置
限制150内