RabbitMQ 消息队列(MQ)是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.
在构建测试框架/系统时,最近使用了RabbitMQ,而且在排查各种问题中使用到了一些工具/命令,这里记录一些笔记.
安装,这个就不细说了,用yum等工具安装(可能rabbitmq-server的版本较老),官网也有RPM包下载(版本可以最新),安装好后,启动即可,不细说.
添加用户/vhost/权限设置,我是这样做的:
- rabbitmqctladd_usertesttest@smilejay
- rabbitmqctladd_vhosttest_vhost
- rabbitmqctlset_permissions-ptest_vhosttest".*"".*"".*"
删除一个Queue,代码如下:
- rabbitmqadminlistqueuesname#列出所有queue
- rabbitmqadmindeletequeuename='queuename'#删除一个queue
删除所有的queue,可以用如下命令(会将所有message/queue/vhost/user等全部删除哦),代码如下:
- rabbitmqctlstop_app
- rabbitmqctlreset
- rabbitmqctlstart_app
管理工具:
用”rabbitmq-plugins enable rabbitmq_management”命令打开管理功能后,可以使用rabbitmqadmin命令行工具进行各种管理操作.
而且,管理工具还提供了Web UI 和 HTTP API的方式来管理RabbitMQ, web 在 http://192.168.222.222:15672/ (IP替换为rabbitmq-server的IP).
HTTP API的详细信息,还是看后面的参考文档吧.当使用web ui时, guest/guest这个账号密码可以在localhost上来登陆;可以通过如下命令来设置一个用户的管理员权限,让其可以登陆到web UI界面中进行管理操作.代码如下:
- rabbitmqctladd_useradmin123456
- rabbitmqctlset_user_tagsadminadministrator
- rabbitmqctlset_permissions-p/admin".*"".*"".*"
- --phpfensi.com
我觉得,web UI 和 API的方式都很不错的,很方便管理.关于RabbitMQ中的各种概念,如:vhost / exchange / queue等,请参考其官方文档和这两篇文章.
http://deepnighttwo.com/post/rabbitmq-1.html
http://blog.csdn.net/cugb1004101218/article/details/21243927