[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]activeMq使用failover连接时,特别慢的问题

上一篇:[备忘]mongodb查询统计,group by 时取count
下一篇:[整理]zookeeper集群安装设置

添加日期:2016/11/17 10:35:30 快速返回   返回列表 阅读1715次
搭了个简单的activeMq的主从的集群,

3个服务器,只有主的那个是可以访问的,其他两个保持待机状态,

客户端使用failover方式连接,

如:
activeMq.broker.url=failover:(tcp://192.168.1.117:61616,tcp://192.168.1.118:61616,tcp://192.168.1.115:61616)?randomize=false&timeout=3000

程序里有10个消息队列,大概10个消费者,每个消费者启动时都去连接activeMQ,

但是发现连接超级慢,很久才连上一个队列,10分钟才启动完~~

疯掉~~

尝试,只保留主服务器的地址,启动非常快,

加上一个不可访问的,就超级慢~~

搜了半天,没找到有用的,

后来看到了官网的tcp transport说明,
http://activemq.apache.org/tcp-transport-reference.html
原来每个tcp连接后面还有参数的。

connectionTimeout默认竟然是30000毫秒,怪不得慢死~~

把连接参数改为

activeMq.broker.url=failover:(tcp://192.168.1.117:61616?connectionTimeout=2000,tcp://192.168.1.118:61616?connectionTimeout=2000,tcp://192.168.1.115:61616?connectionTimeout=2000)?randomize=false&timeout=3000

就OK了,尝试2秒,连不上就换下一个。
---------------------------------------------
另一个问题是,这个连接activeMq默认是无限重试的,
会导致程序启动不起来,
不过我觉得就这样吧,没activeMq,启动起来也没用~~
可参考这个:
https://my.oschina.net/u/237688/blog/753938
 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved