python使用rabbitmq实现简单的消息转发

Posted 海的味道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python使用rabbitmq实现简单的消息转发相关的知识,希望对你有一定的参考价值。

准备:

  1.下载elang语言的支持环境http://www.erlang.org/download.html (rabbitmq使用它开发的)

  2.下载rabbitmq软件http://www.rabbitmq.com/releases/rabbitmq-server/(根据自己的系统选择)

  3.安装elang,rabbitmq,并配置环境变量,我的是windows7,步骤大概如下:

    a.新建变量:ERLANG_HOME=D:\\Program Files\\erl6.1,然后再path中添加%ERLANG_HOME%\\bin;

    b.新建变量:RABBITMQ_SERVER=D:\\Program Files\\rabbitmq_server-3.3.4,然后再path中添加%RABBITMQ_SERVER%\\sbin;

    c.运行sbin/rabbitmq-server.bat,启动RabbitMQ服务器效果如下图

      

用python操作rabbitmq

  1.下载pika支持包(pip install pika)

  2.消息发送接收采用的是生产者消费者模型

生成者方代码Productor.py 

 1 # __author__ = \'STEVEN\'
 2 import pika
 3 def b():
 4     #建立socket
 5     connection = pika.BlockingConnection(pika.ConnectionParameters(host=\'localhost\'))
 6     #声明一个管道
 7     piple = connection.channel()
 8     #创建一个队列
 9     piple.queue_declare(\'hello\')
10     #发送消息
11     piple.basic_publish(exchange=\'\',routing_key=\'hello\',body=\'你好啊\')
12     print(\'[x] sent message..hello\')
13     connection.close()
14 b()

消费者方代码Consumer.py

 1 # __author__ = \'STEVEN\'
 2 import pika
 3 #创建socket链接
 4 connection = pika.BlockingConnection(pika.ConnectionParameters(\'localhost\'))
 5 #创建管道
 6 channel = connection.channel()
 7 #创建队列
 8 channel.queue_declare(\'hello\')
 9 #声明回调函数
10 def callback(ch,method,properties,body):
11     print(\'[x] recieved message%r\'%body.decode())
12 #如果接受到消息就调用回调函数,准备接受消息
13 channel.basic_consume(callback,queue=\'hello\',no_ack=True)
14 print(\'[*] is waiting for recieve mess press ctrl+c to eixt\')
15 #开始消费消息
16 channel.start_consuming()

 

以上是关于python使用rabbitmq实现简单的消息转发的主要内容,如果未能解决你的问题,请参考以下文章

C#利用RabbitMQ实现点对点消息传输

Python 学习笔记 - RabbitMQ

RabbitMQ公平队列原理实现

初识RabbitMQ系列之一:简单介绍

三分钟实现 Spring Boot 集成 RabbitMQ,实现消息队列服务

C#利用RabbitMQ实现消息订阅与发布