论坛首页 Java企业应用论坛

rabbitmq的几个小问题,被郁闷了

浏览 2559 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-02-07  

刚开始使用rabbitmq,一天半的时间研究明白了就用上了架子搭起来一看挺好,但是也有些杯具还让我纳闷

首先架构是web server(以下简称A)和rabbitmq的服务在一个服务器上,然后远程有个处理某些事情的客户端(以下简称B)。

开始的时候发现B刚启动的时候挺好用,过一会就不干活了;就是队列里面明明有东西但是收不到,可能十几分钟或者几十分钟后timeout然后从新连接可以取到;这个时候如果关闭B从新打开,马上可以取到。鉴于B是ADSL拨号连入网络的,可能有不稳定因素,我研究了半天最后结论是:改了requstedHeartbeat=10,结果再不出问题了。

不过没高兴多久,A那头,本来使用的是spring ampq,一直运作良好,结果突然也不收消息了,但是发送正常。照例改了requstedHeartbeat=10,结果因为这个服务其实是localhost访问,导致一直抛连接异常,只好又改回requstedHeartbeat=0,结果不抛异常了,但是还是偶尔不正常,如果一段时间没有消息之后,就发呆彻底不收消息了。

anyway,最后A这头只好又写了个客户端协助收消息存入数据库,但是这时候发现,A这边又不出问题了!

现在A和B暂时看起来都很正常了!

哪位大神能给我讲讲这里面到底是怎么回事?

   发表时间:2013-02-08  
网络条件这么差,不如不用jms,改成客户端主动的轮询消息中心,每次查询都重新建tcp连接。如果消息量大,那还是不要用 adsl 了,坑爹的。
0 请登录后投票
   发表时间:2013-02-08  
sulong 写道
网络条件这么差,不如不用jms,改成客户端主动的轮询消息中心,每次查询都重新建tcp连接。如果消息量大,那还是不要用 adsl 了,坑爹的。


现在客户端挺稳定的,我是没搞懂requestHeartbeat为什么在同一台服务器上的时候必须是0.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics