一、介绍
- RabbitMQ是开源的消息代理中间件,消息队列主要解决异步处理、应用解耦、流量削峰、消息通讯。
- 分布式系统中,使用消息中间件进行系统间的数据交换。
- 使用Erlang语言开发的,基于AMQP协议实现,更多的用于企业系统内,因为其对数据一致性、稳定性、可靠性处理的很好,其次是性能和吞吐量。
- 支持分布式部署
二、安装
- RabbitMQ依赖于Erlang, 先安装Erlang,然后再安装MQ
- 下载erlang,地址:http://www.erlang.org ,下载RabbitMQ,地址:http://www.rabbitmq.com
- 先安装erlang,双击安装文件,一路走到底,勾选默认选项即可,然后配置环境变量:ERLANG_HOME=E:\Software\erlang10.3, 环境变量指向erlang的安装路径,追加到path路径下:path=%ERLANG_HOME%\bin;
- 验证Erlang是否成功:cmd窗口下,输入erl,成功返回版本信息
- 安装RabbitMQ,双击安装,一路到底即可,同样的设置环境变量:RABBITMQ_SERVER=E:\Software\RabbitMQ\rabbitmq_server-3.7.14,path路径追加:path=%RABBITMQ_SERVER%\sbin;
- 验证RabbitMQ:
- 我安装的3.7.14版本默认后台启动的,可以在:Windows任务管理器>服务中,找到RabbitMQ,默认是在运行着。
- cmd窗口验证:net start RabbitMQ, 返回其已在运行
- cmd窗口验证:rabbitmq-service, 返回版本信息等,以上三条任一条都可证明已成功安装MQ
- 安装web管理插件:进入rabbitmq安装目录,进入sbin目录下,打开cmd命令窗口(注意以管理员打开)我的为:E:\Software\RabbitMQ\rabbitmq_server-3.7.14\sbin>==rabbitmq-plugins enable rabbitmq_management==,成功返回安装的几个插件即可
- 最终验证:打开http://localhost:15672进行测试,用户名/密码均为:guest,即可看到RabbitMQ的后台管理
三、初步使用
- RabbitMQ是一个消息代理,他接受和转发消息,生产者发布消息,消费者处理消息,生产者、消费者、和代理不必在同一主机上。
- Python 使用pika库来连接RabbitMQ消息服务器,pip install pika 即可
- 发送方:使用pika库与RabbitMQ服务器建立连接,创建一个队列,向队列中发送消息
- 接收方:连接MQ服务器,声明之前的那个队列(因为创建队列是幂等的,不会创建多余的同名的队列),从队列接收消息,处理。具体可参考官方github基础教程:https://github.com/rabbitmq/rabbitmq-tutorials/tree/master/python
- 具体RabbitMQ官方Python操作参考文档:https://www.rabbitmq.com/tutorials/tutorial-one-python.html