MQ1

参考:http://www.rabbitmq.com/tutorials/tutorial-one-python.html

1 基本

RabbitMQ是一个消息中间件(message broker),它接受和转发消息。类似邮局的功能。

使用的术语:

  Procucer-发送消息的就是生产者。

  Queue-消息存储在队列中,队列就是一个大型的消息缓存。多个生产者可以将消息发送给一个队列,多个消费者可以尝试从一个队列接受数据。

  Consume-消费者是等待接受消息的程序

note:producer,consumer,broker在绝大部分应用中,分布在不同的主机上。

2 第一个程序-Hello World

生产者向队列‘hello’发送消息,生产者从队列接受消息。

中间的box是queue--维持在消费者一端的消息缓存。

2.1 send.py

import  pika

#向一个指定地址上的broker创立连接
conncetion = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = conncetion.channel()

#发送消息之前需要确认接收端队列存在
#如果发送数据到一个不存在的位置,RabbitMQ会丢掉消息
#在这里我们声明一个hello队列来投递消息
channel.queue_declare('hello')

#现在发送一个消息到hello这个队列。
#在RabbitMQ中,一个消息无法直接发送带队列,而是需要通过一个exchange。
#目前只需要知道如何使用一个默认的由一个空字符串认证的exchange,它允许指定消息要发到哪个队列
#队列名在route-key参数中指定
channel.basic_publish(exchange='',routing_key='hello',body='Hello World')

#退出程序之前需要确认网络缓存被清空,并且消息被投递到RabbitMQ。可以优雅地关闭连接
conncetion.close()

  

2.2 receive.py

猜你喜欢

转载自www.cnblogs.com/jabbok/p/9133565.html
MQ1
1-1
2-1
今日推荐