安装
我的环境是Ubuntu 14.04.1 LTS
安装erlang
1 | sudo apt-get install build-essential |
安装rabbitMQ
1 | sudo apt-get install rabbitmq-server |
安装 RabbitMQWeb管理插件
1 | sudo rabbitmq-plugins enable rabbitmq_management |
登录密码是:guest/guest
启动
1 | sudo service rabbitmq-service start |
安装RabbitMQ libraries
RabbitMQ遵循AMQP协议,为了使用rabbitmq,你需要一个库来解读这个协议,对于python来说,你需要安装下面库函数中的任意一个即可:1
2
3>py-amqplib
>txAMQP
>pika
这里选择pika1
sudo pip install pika
简单理解
RabbitMQ相当于一个消息代理,他完成接收和转发消息的功能,你可以把它想成一个邮局,起到中转作用
- Producer:用来发送消息的程序被称为一个producer
- Queue: 队列,相当于邮箱的作用,他在创建后一直存活与RabbitMQ中,虽然消息可以在你的程序之间流动,但是在这中间的过程中,消息必须存在queue中,一下queue没有大小限制,你可以存无数的消息,(前提你必须预留1GB的硬盘空间),他就相当于一个没有限制的缓存。多个Producer可以发送消息到同一个queue,多个Consumer也可以从同一个queue中接收消息
- Consumer: 一个用来接收消息的程序称之为Consumer
点对点通信
我们实现一个helloword的一对一的通信,一个发送方,一个接收方
客户端 client.py
1 | #导入pika |
服务端server.py
1 | import pika |
运行
运行server.py
1
python server.py
运行client.py
1
python client.py
查看web界面
web界面对各个元素都有记录, 我们能看到刚才的操作
命令
1 | sudo rabbitmqctl list_queues |