欢迎来到天天文库
浏览记录
ID:51467999
大小:359.76 KB
页数:6页
时间:2020-03-11
《activemq负载均衡实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AMQ负载均衡Broker-Cluster部署方式中,各个broker通过网络互相连接并共享queue。这在一定程度上可视为负载均衡的一种方法。有两种实现方式:静态发现和动态发现。注:jetty.xml的端口号也要改。1、 TheStaticTransport(静态发现,broker之间的协议,与client无关)静态发现协议使用硬编码的形式,使得broker可以发现其他的broker,并共享queue。消息消费者可以从其中任意一个broker收到发给自己的消息。示例如下:[1]. 将ActiveMq拷贝2份
2、,分别命名:activemq1,activemq2,放在一台机器上(测试而已)[2].activemq1做如下配置: 3、e"uri="tcp://0.0.0.0:61616?maximumConnectio ns=1000&wireFormat.maxFrameSize=104857600"/> activemq2做如下配置: <
3、e"uri="tcp://0.0.0.0:61616?maximumConnectio ns=1000&wireFormat.maxFrameSize=104857600"/>
4、/networkConnectors> 通过以上配置使activemq1和activemq2这两个 broker通过网络互相连接,并共享queue,启动ac
5、tivemq1和activemq2,可以看到如下启动日志: 可以看到activemq1和activemq2,networkconnectionhasbeenestablished[3]. 测试代码:发送端链接tcp://localhost:61616,发送消息到queue,接收端做如下修改:connectionFactory=newActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.D
6、EFAULT_PASSWORD,"tcp://localhost:61617");经测试Receiver可以接受到数据,表示activemq1和activemq2已经共享了queue。如果要实现故障转移,则可将接收端的代码改为:connectionFactory=newActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD,"failover:(tcp://l
7、ocalhost:61617,tcp://localhost:61616)?randomize=false");实际工程修改spring-context.cml文件:结果1.先是activemq2监听接收消息2.再人为停掉activem
8、q2服务发送端也连接另外的broker-cluster里的activemq13.activemq1接收剩下的消息。2、 TheDiscoveryTransport(动态发现,broker之间的协议,与client无关)DynamicDiscovery集群方式在配置ActiveMQ实例时,不需要知道所有其它实例的URI地址对activemq.xml做如下配置:[1]. activemq
此文档下载收益归作者所有