RabbitMQ -- Hello world

RabbitMQ使用AMQP通信协议(AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。)。

安装

具体教程参考:http://www.rabbitmq.com/tutorials/tutorial-one-python.html

安装python的开发库

sudo pip install pika==0.9.8

安装rabbitmq服务

sudo apt-get install rabbitmq-server

启动rabbit服务

rabbitmq-server start

Hello World

发送

  • 通过使用pika第三方库来连接,本例中为localhost本地连接。 
  • 通过queue_declare来创建一个消息队列
  • 发送消息basic_publish
  • 关闭链接close

#!/usr/bin/env python
# coding=utf-8

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='', routing_key='hello', body='hello world!')

print 'Sent "hello world"'

connection.close()

接收

  • 通过使用pika第三方库来连接,本例中为localhost本地连接。 
  • 通过queue_declare来创建一个消息队列(推荐,由于接收之前消息队列有可能并没有创建过)
  • 指定消息队列和回调函数basic_consume
  • 开始接受消息start_consuming

#!/usr/bin/env python
# coding=utf-8

import pika

def callback(ch, method, properties, body):
print 'receive %r'%body

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_consume(callback, queue='hello', no_ack=True)

channel.start_consuming()

 


本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

时间: 2024-09-13 19:53:52

RabbitMQ -- Hello world的相关文章

RabbitMQ的几种典型使用场景

RabbitMQ主页:https://www.rabbitmq.com/ AMQP AMQP协议是一个高级抽象层消息通信协议,RabbitMQ是AMQP协议的实现.它主要包括以下组件: 1.Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程. 2.Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Virtual Host 3.Exchange:接受生产

【转载】RabbitMQ 网络分区问题

RabbitMQ 集群的 网络分区容错性 并不是非常高,在网络经常发生分区时会有些问题,最明显的就是 脑裂问题 .  官方文档是这样介绍的:  RabbitMQ clusters do not tolerate network partitions well. If you are thinking of clustering across a WAN, don't. You should use federation or the shovel instead. 从中我们可以看出, 在广域网环

对RabbitMQ关键性问题的总结

1. RabbitMQ 1.1  RabbitMQ数据速率问题 在边读边写的情况下:速率只与网络带宽正相关,网络使用率最高能达到接近100%,并且数据使用率很高(90%以上). 在千兆网下,以500KB一条数据为例,读写速率均能达到200条/s,约为100MB/s. 在只写不读的情况下:写入速率瓶颈在于硬盘写入速度. 1.2  RabbitMQ数据存储路径变更到D盘方法 Windows环境下,在安装前设置环境变量:RABBITMQ_BASE=D:\RabbitMQ_Data 1.3  Rabbi

RabbitMQ集群环境生产实例部署

生产环境: CentOS 6.3 x86_64 服务器主机名与IP列表: mq136      172.28.2.136 mq137      172.28.2.137 mq164      172.28.2.164 mq165      172.28.2.165 在各节点服务器上作好hosts解析 cat >>/etc/hosts/<<EOF mq136      172.28.2.136 mq137      172.28.2.137 mq164      172.28.2.1

解决在Server 2008下突破Rabbitmq的socket限制数的方法

我们利用Rabbitmq进行各类业务系统(如SAP.OA.EHR.KMS.访客系统.AD等)的集成和接口,已有很长一段时间了,初步建立了企业服务总线(ESB).随着新业务系统的不断接入到ESB中,在实践中也发现了一些问题并总结了一些经验,下文主要介绍如何在windows下突破 Rabbitmq的socket限制数,以便为需要使用的同学分享一些实际经验,后续将陆续分享一些技术经验. 第一. RabbitMQ_Limits文档说明 Status of node rabbit@MYSERVER ...

[喵咪MQ(3)]RabbitMQ集群安装配置

[喵咪MQ(3)]RabbitMQ集群安装配置 w-blog博客 在各项生产环境使用中,容灾总是一个很重要的话题,如果单点故障会导致整个系统奔溃或者是丢失数据是不是好气好气的,领导会追着你问这是怎么了?你只能说是我们没有经验什么什么组件故障了,这个是低级玩法,高级玩法是配置好集群容灾,告诉老板死一两台机器宕机了没有事没有影响,所以我们今天就来讲讲RabbitMQ的集群模式... 附上: 喵了个咪的博客:w-blog.cn RabbitMQ官网 :http://www.rabbitmq.com/

[喵咪MQ(2)]RabbitMQ单机模式使用

[喵咪MQ(2)]RabbitMQ单机模式使用 w-blog博客 哈喽!本周我们又见面了,今天呢我们接着说MQ软件RabbitMQ的故事,在上小节以及成功的安装了RabbitMQ也配置了开机启动,那么我们应该要开始的真正的接触并且使用它来管理使用解决业务问题,请紧张的往下看- 附上: 喵了个咪的博客:w-blog.cn RabbitMQ官网 :http://www.rabbitmq.com/ 1.用户权限体系 在RabbitMQ中提供了一套账户体系,账户体系围绕着vhost进行展开,那么vhos

[喵咪MQ(1)]RabbitMQ简单介绍准备工作

[喵咪MQ(1)]RabbitMQ简单介绍准备工作 前言 哈喽大家好呀! 看标题就知道我们这次要讲MQ,之前博客中有提到的KafKa理论上来说也是一个优秀的MQ队列软件,比较知名的MQ有:Go语言编写的 nsq , 阿里云的RocketMQ , 大名鼎鼎的KafKa 以及 redis(也可以做队列),不过我们这次的主角是RabbitMQ. 附上: 喵了个咪的博客:w-blog.cn RabbitMQ官网 :http://www.rabbitmq.com/ 1.队列做什么?RabbitMQ是什么?

快速部署rabbitMQ教程

RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionScript.XMPP.STOMP等,支持AJAX.用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面表现不俗. 部署方式 在阿里云服务器下部署 RabbitMQ提供两种部署方式: RabbitMQ镜像部署 手动部署(源码编译安装/YUM安装) 一般推荐镜像部署适合新手使用更加快捷方便,安装包部署以及手动部署适合对

rabbitmq怎么朝一个设备发送信息

问题描述 rabbitmq怎么朝一个设备发送信息 刚接触基本白板,现在是群发,可以实现只朝一个设备发吗?queues和channels怎么配置,最好有大概的步骤