欢迎来到天天文库
浏览记录
ID:36026197
大小:1.04 MB
页数:11页
时间:2019-04-29
《activemq性能与高可用性测试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、activeMQ高可用性与性能测试一.ActiveMQ集群结构1.Network配置Activemq使用了networksofbrokers的集群方式,即把不同的activeMQbroker通过advisorymessages(activeMQ自身的消息地址,我们可以监听该地址来获取activemq的系统信息)连接起来,组成一张activeMQ的网状结构。山西电信一共3台activeMQ中间件,分别是243/244/245.activemq.xml配置如下:2、//137.64.43.244:10001,tcp://137.64.43.245:10001)"duplex="true"conduitSubscriptions="true"/>Duplex:使用双工模式,即143的消息可以转发给144与145,144与145的消息也同时可以转发给143。conduitSubscriptions:消费者是否负载均衡。例如143的broker上有1个consumer,144的broker上有2个consumer。现在往143的broker上发送30条信息,如果此参数为true,则144的
2、//137.64.43.244:10001,tcp://137.64.43.245:10001)"duplex="true"conduitSubscriptions="true"/>
3、2个consumer被当作一个消费者,分别给143和144的broker分配15条消息,即为143上的consumer分配了15条消息,144上的2个consumer一共分配了15条消息。如果参数为false,则被当作3个消费者,每个consumer分配10条消息。为了减少网络风暴,我们将此参数设置了true,牺牲性能和扩展减轻网络压力。被卡住的消息一个很有意思的场景是,broker1和broker2通过networkConnector连接。一些个consumers连接到broker1,消费broker2上的消息。消息先被broker1从broker2上消费掉,
4、然后转发给这些consumers。不幸的是转发部分消息的时候broker1重启了,这些consumers发现broker1连接失败,通过failover连接到broker2上去了,但是有一部分他们还没有消费的消息被broker2已经分发到了broker1上去了。这些消息,就好像是消失了,除非有消费者重新连接到broker1上来消费。怎么办呢?办法就是从5.6版本destinationPolicy上新增的选项replayWhenNoConsumers。这个选项使得broker1上有需要转发的消息但是没有消费者时,把消息回流到它原始的broker。同时把enable
5、Audit设置为false,为了防止消息回流后被当做重复消息而不被分发">1.Destinations过滤在业务量不太的时候,networkofbroker的方式没有问题,当时在业务量非常大的时候,多个broker之间可能存在大量的消息转发,造成网络压力,所以activeMQ提供了多种方式的Destinationsfilte
6、r在多个broker之间过滤消息。dynamicallyIncludedDestinations:用来限制只有配置中的Destinations才会被远程的其他broker消费。 7、ons>excludedDestinations:排除其所配置的Destinations为不会转发。staticallyIncludedDestinations: 8、etworkConnec
7、ons>excludedDestinations:排除其所配置的Destinations为不会转发。staticallyIncludedDestinations: 8、etworkConnec
8、etworkConnec
此文档下载收益归作者所有