一点对rabbitmq的使用心得

1.如果远程客户端网络状况不是太好,比如adsl什么的,那么一定在客户端打开requstedHeartbeat

2.如果在同一台机器上,千万不要打开requstedHeartbeat,即requstedHeartbeat=0

3.各个系统下配置文件的位置:

Windows - %APPDATA%\RabbitMQ\rabbitmq.config

Debian - /etc/rabbitmq/rabbitmq.config

RPM - /etc/rabbitmq/rabbitmq.config

MacOS (Macports) - /opt/local/etc/rabbitmq/rabbitmq.config

Generic UNIX - /etc/rabbitmq/rabbitmq.config

但是千万注意,不管你是设置了配置文件还是修改了环境变量RABBITMQ_*,至少windows下都必须从新安装服务才能生效,仅重启服务是没用的!话说这个问题非常奇怪啊,它是采取的服务参数的形式处理的而不是读取配置文件。

比如你在rabbitmq.config里面写了:

[{kernel,[{inet_dist_use_interface,{127,0,0,1}}]}].

那么重启服务没用,重装服务你才会发现这玩意监听在localhost了。

为了远程管理兔子MQ,可以打开management:

rabbitmq-plugins enable rabbitmq_management

但是由于用户权限配置问题,需要一点点的设置:

http://stackoverflow.com/questions/14699873/how-to-reset-user-for-rabbitmq-management

rabbitmqctl set_user_tags usrname administrator

这样才能登录!

官方demo里面RPC模式基本就是骗人的,这个模式带来的问题远比解决的问题多一百倍!

我的建议是不到万不得已,绝对不要阻塞请求来等待回复,这个模型太麻烦了,还是完全open的队列模式客户端自己取更合适。

 调试程序的的时候,如果是异步队列,千万注意了,如果你收不到消息,很可能不是错误而是让别人的跑的应用收去了!所以这个地方一定控制一下只一个人取。

 

 

 

 

猜你喜欢

转载自flashing.iteye.com/blog/1797531