一、实验内容
通过一个程序发送 “Hello world”,另一个程序接受消息并且打印到屏幕上。用 python 来实现。
二、实验环境
- Ubuntu 16
- python3及pip3
- RabbitMQ3.5.7
下面开始安装其他环境:
# 更新软件包列表
$ sudo apt-get update
# 安装所需要的依赖
$ sudo apt-get install -y python-pip git-core
# 更新 pip
$ sudo pip install --upgrade pip
# 安装 pika
$ sudo pip3 install pika
Ubuntu 16默认的python版本是python2,所以得先安装python3再修改默认版本。
三、开启RabbitMQ服务器
sudo service rabbitmq-server start
四、运行生产者(send.py),发送消息
$ python3 send.py
$ sudo rabbitmqctl list_queues
send.py的源码如下:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='',routing_key='hello',body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()
五、运行消费者(receive.py),发送消息
python3 receive.py
receive.py文件如下:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(queue='hello',auto_ack=True,on_message_callback=callback)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
六、实验结果
实验结束。本次实验没什么技术含量,只是拿来增加一下对RabbitMQ的熟悉度。