ActiveMQ使用笔记(五)ActiveMQ负载均衡

ActiveMQ可以实现多个mq之间进行路由,假设有两个mq,分别为brokerA和brokerB,当有一条消息发送到brokerA的队列test中,有一个客户端连接到brokerB上,并且要求获取test队列的消息时,brokerA中队列test的消息就会路由到brokerB上,反之brokerB的消息也会路由到brokerA。
静态路由配置,brokerA不需要特别的配置,brokerB需要配置networkConnectors节点,具体配置如下:

静态路由支持failover,如:static:failover://(tcp://host1:61616,tcp://host2:61616)。
动态路由配置,每个mq都需要配置如下:

注意:networkConnectors需要配置在persistenceAdapter之前。
重启ActiveMQ,可以看到brokerA的日志如图:
networkConnector的属性请参照:http://activemq.apache.org/networks-of-brokers.html

此条目发表在ActiveMQ, 实施配置分类目录,贴了, 标签。将固定链接加入收藏夹。

ActiveMQ使用笔记(五)ActiveMQ负载均衡》有 2 条评论

  1. 天涯海角说:

    两台独立主机,启动两个AMQ,配置networkConnector,并设置duplex=true,从测试的结果来看,没有发现有性能提升的情况

    • 淮少说:

      假设你的两个mq是mq1和mq2,有两个队列test1和test2,所以消息都往一个mq1发,有两个客户端clinet1和clinet2,如果没有配置networkConnector,那么要消费test1和test2的消息只能连接到mq1,配置了networkConnector之后,就可以把clinet1连接到mq1消费test1,client2连接到mq2消费test2,建议测试:先生产大量的消息到mq1 1:启动两个client,同时连接mq1看各个client的消费时间,2:启动两个client分别连接mq1和mq2 看各个client的消费时间

发表评论