一.RabbitMQ简介
RabbitMQ是一个消息中间件。原理是简单的,就是负责消息(二进制块数据)的接收,存储和发送。
RabbitMQ的工作流程大致如下图:
工作流程大致如下:
左边的Client向右边的Client发送消息,流程:
1, 获取Conection
2, 获取Channel
3, 定义Exchange,Queue
4, 使用一个RoutingKey将Queue Binding到一个Exchange上
5, 通过指定一个Exchange和一个RoutingKey来将消息发送到对应的Queue上,
6, 接收方在接收时也是获取connection,接着获取channel,然后指定一个Queue直接到它关心的Queue上取消息,它对exchange,routingKey及如何binding都不关心,到对应的Queue上去取消息就OK了。
具体各部分如下:
发送(Sending):
1.建立一个跟RabbitMQ服务器的连接:
connection= pika.BlockingConnection(pika.ConnectionParameters( 'localhost'))
channel = connection.channel()
2.创建一个队列:
channel.queue_declare(queue='hello')
hello:为队列的名字。
3.指定发送消息的一些参数:
channel.basic_publish(exchange='',
routing_key='hello',
body='Hello World!')
print" [x] Sent 'Hello World!'"
exchage:信息交换机,改成为空;
routing_key:指定队列,该处为hello。
body:消息体,该处为hello World!。
4关闭连接:
当消息已经被传到队列后,关闭连接