python采用pika库使用rabbitmq总结,多篇笔记和示例(转)
add by zhj:作者的几篇文章参考了Rabbitmq的Tutorials中的几篇文章。
原文:http://www.01happy.com/python-pika-rabbitmq-summary/
这一段时间学习了下rabbitmq,在学习的过程中,发现国内关于python采用pika库使用rabbitmq的资料很少,官网有这方面的资料,不过是都英文的。于是笔者结合自己的理解,就这方面内容写了一些示例,总共有七篇笔记,分享出来。
笔记依次是循序渐进的,笔记内贴出的代码笔者都实际运行过,运行系统ubuntu 12.04,rabbitmq版本是2.7.1,python版本是2.7.3。
因为笔记里提到一些名词,虽然叫法不一样,不过都是表达同样的事物,所以有必要先说明下,以免产生疑惑。主要是两个名词:
- producer 直译为生成者,就是产生消息的东东,笔记里提到的发送者、发送端都是一个意思。如果把消息比喻成任务,也可以理解为任务分配者。
- consumer 直译为消费者,就是接收消息的东东 ,笔记里提到的接收者、接收端都是一个意思。如果把消息比喻成任务,也可以理解为工作者。
1、ubuntu安装rabbitmq和python的使用实现
这篇主要记录了在ubuntu下安装rabbitmq服务的过程和安装python pika库的过程,并演示了单向发送消息的工作方式。
继上一篇,演示了多个接收端情况下,消息发送的工作方式。
前面两篇的示例,都只使用了一个队列,消息是依次发送给绑定到该队列的接收端。如果要广播出去,就要使用交换机,本篇演示了交换机的工作方式。
第三篇的消息是广播出去的,所有接收端都会接收到,如果要精确指明消息的接收端,就要使用路由键,本篇主要演示了路由键的工作方式。
第四篇的路由键是精确匹配的,有时用需要模糊匹配,本篇主要演示了路由键模糊匹配的工作方式。
前面五篇的消息都是发送出去就完事了,接收端并没有将结果返回给发送端。有些情况下需要接收端将接收到的消息处理后再返回给发送端,本篇演示了这种情况的处理方式。
7、python使用rabbitmq实例七,相互关联编号correlation id
上一篇只是发送单条消息,返回的结果自然是对应该条消息,但是如果同时发出多条消息,就会返回多个结果,如何将发送的消息和返回的结果一一对应起来呢?本篇演示了correlation id的工作方式,就是用来解决这个问题的。
如果发现哪里有错误的地方或者有什么建议,欢迎大家来信交流。我的邮箱参考网站右边。
python采用pika库使用rabbitmq总结,多篇笔记和示例(转)的更多相关文章
- python采用pika库使用rabbitmq总结,多篇笔记和示例
这一段时间学习了下rabbitmq,在学习的过程中,发现国内关于python采用pika库使用rabbitmq的资料很少,官网有这方面的资料,不过是都英文的.于是笔者结合自己的理解,就这方面内容写了一 ...
- python的pika模块操作rabbitmq
上一篇博文rabbitmq的构架和原理,了解了rabbitmq的使用原理,接下来使用python的pika模块实现使用rabbitmq. 环境搭建 安装python,不会的请参考Linux安装配置py ...
- 利用python pika库实现rabbitmq客户端
pika 实现consumer import functools import logging import pika LOG_FORMAT = ('%(levelname) -10s %(ascti ...
- Python框架、库和软件资源大全(整理篇)
有少量修改,请访问原始链接.PythonWIn的exe安装包;http://www.lfd.uci.edu/~gohlke/pythonlibs/ 原文链接:codecloud.net/python- ...
- rabbitMQ实战(一)---------使用pika库实现hello world
rabbitMQ实战(一)---------使用pika库实现hello world 2016-05-18 23:29 本站整理 浏览(267) pika是RabbitMQ团队编写的官方Pyt ...
- python使用pika链接rabbitmq Connection reset by peer 解决办法
记录一下, 最近在用机器学习打算做一个Rest API, 数据存入mongo,任务采用消息队列,rabbitmq 由于引擎采用python编写,所以WEB也直接打算用python编写了,比较省事. W ...
- python pika简单实现RabbitMQ通信
Windows上安装及启动RabbitMQ https://blog.csdn.net/hzw19920329/article/details/53156015 安装python pika库 pip ...
- Python之操作Redis、 RabbitMQ、SQLAlchemy、paramiko、mysql
一.Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.Redis是一个key-value存储系统.和 ...
- 使用Python 、 go 语言测试rabbitmq的工作机制
1:在haproxy 和 rabbitmq上安装Python.python2-pip,默认是Python2 yum install -y python python2-pip 2:在haproxy ...
随机推荐
- SharePoint 2013 设置customErrors显示实际的错误信息
一.首先设置IIS中的Web.config文件 找到对应的IIS应用程序目录,如:C:\inetpub\wwwroot\wss\VirtualDirectories\3000 在此文件夹下包含一个we ...
- 教您如何在Word的mathtype加载项中修改章节号
在MathType数学公式编辑器中,公式编号共有五部分内容:分别是章编号(Chapter Number).节编号(Section Number).公式编号(Equation Number).括号(En ...
- MathType中公式不对齐怎么办
MathType是一款专门用来编辑数学公式的数学公式编辑器,利用它可以在文档中快速编辑公式,与文字完美结合,可以编辑出各种各样的数学符号与公式,省下你不少的时间. 一.对齐上标与下标 MathType ...
- VS------修改项目命名空间
1.以文本形式打开此文件 2.修改一下部分 3.vs会自动提示,选择“放弃”即可
- Effective C++ Item 18 Make interfaces easy to use correctly and hard to use incorrectly
1. A good API will provide easy to use interfaces but also provide hard to miss-use interfaces. Usua ...
- Qt监控后台服务运行状态
mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QMa ...
- 子Fragment获取父Fragment
在子Fragment操作父Fragment的思路 ((FragmentRecyclerBD)FragmentAppointmentBD.this.getParentFragment()).change ...
- shell、cmd、dos和脚本语言杂谈(转)
问题一:DOS与windows中cmd区别 在windows系统中,“开始-运行-cmd”可以打开“cmd.exe”,进行命令行操作. 操作系统可以分成核心(kernel)和Shell(外壳)两部 ...
- php第二例
参考: http://www.php.cn/code/3645.html 前言 由于navicat在linux平台不能很好的支持, PHP的学习转到windows平台. php IDE: PhpSto ...
- 96、facebook Fresco框架库源使用(转载)
各个属性详情:http://blog.csdn.net/y1scp/article/details/49245535 开源项目链接 facebook Fresco仓库:git clone https: ...