刚开始使用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暂时看起来都很正常了!
哪位大神能给我讲讲这里面到底是怎么回事?