python操作RabbitMQ

摘要:
Exchange(交换机):它负责接收来自生产者的消息并将其传输到适当的队列(队列):一个缓冲区,用于存储Exchange发送的消息并主动向消费者发送消息,或者消费者主动获取消息。参见第1.4节中的说明。Exchange根据邮件的属性和Binding的属性转发邮件。绑定的一个重要属性是binding_key连接和通道:生产者和消费者需要与RabbitMQ建立TCP连接。某些应用程序需要多个连接。为了保存TCP连接,可以使用Channel。它可以被视为共享TCP连接的轻量级连接。该连接需要用户身份验证并支持TLS。

RabbitMQ介绍

RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue)的开源实现的产品,RabbitMQ是一个消息代理,从“生产者”接收消息并传递消息至“消费者”,期间可根据规则路由、缓存、持久化消息。“生产者”也即message发送者以下简称P,相对应的“消费者”乃message接受者以下简称C,message通过queue由P到C,queue存在于RabbitMQ,可存储尽可能多的message,多个P可向同一queue发送message,多个C可从同一个queue接收message

  • 内部架构:

     python操作RabbitMQ第1张

  • 说明

    • Message (消息):RabbitMQ 转发的二进制对象,包括Headers(头)、Properties (属性)和 Data (数据),其中数据部分不是必要的。Producer(生产者): 消息的生产者,负责产生消息并把消息发到交换机
    • Exhange的应用。

      • Consumer (消费者):使用队列 Queue 从 Exchange 中获取消息的应用。
      • Exchange (交换机):负责接收生产者的消息并把它转到到合适的队列
      • Queue (队列):一个存储Exchange 发来的消息的缓冲,并将消息主动发送给Consumer,或者 Consumer 主动来获取消息。见 1.4 部分的描述。

      • Binding (绑定):队列 和 交换机 之间的关系。Exchange 根据消息的属性和 Binding 的属性来转发消息。绑定的一个重要属性是 binding_key。

      • Connection (连接)和 Channel (通道):生产者和消费者需要和 RabbitMQ 建立 TCP 连接。一些应用需要多个connection,为了节省TCP 连接,可以使用 Channel,它可以被认为是一种轻型的共享 TCP 连接的连接。连接需要用户认证,并且支持 TLS (SSL)。连接需要显式关闭。

 参考:RabbitMQ百度百科

RabbitMQ安装

centos7安装:

http://www.rabbitmq.com/install-rpm.html
yum -y install rabbitmq-server
systemctl start rabbitmq-server

windows安装:

http://www.rabbitmq.com/install-windows.html

安装python rabbitMQ module:

pip3 install pika
or
easy_install pika
or
源码
 
https://pypi.python.org/pypi/pika

免责声明:文章转载自《python操作RabbitMQ》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python实战---制作专属有声小说(调用百度语音合成接口)torch 深度学习(3)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CAT 监控搭建

简介 CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。 已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。 开源地址:https://github.com/dianping/cat/ D...

rabbitMq实战使用

只做下工作记录,比较重要的几个属性: concurrency:一个生产者可以同时由多少个消费者消费,这个一般根据你的机器性能来进行配置 prefetch:允许为每个consumer指定最大的unacked messages数目。要是对实时性要求很高的话,prefetch应该设置成1,concurrency的值调高点 队列中Ready状态和Unacknowl...

消息队列(三)Apache ActiveMQ

在Ubuntu上安装ActiveMQ 系统初始化 $ sudo apt update $ sudo apt dist-upgrade $ sudo apt autoremove $ sudo apt clean 搭建activemq服务 $ mkdir /home/active-mq $ cd /home/active-mq $ wget http://...

NSQ部署

一、 简介 NSQ主要有三个主要程序和一个Web服务程序: nsqd:是守护进程,接收,缓存,并投递消息给客户端 nsqlookupd:是一个守护进程,为消费者提供运行时发现服务,来查找指定话题(topic)的生产者 nsqd nsq_to_http:消费指定的话题(topic)/通道(channel)和执行 HTTP requests (GET/POS...

openssl3.0 加密算法库编程精要 04 详解 EVP API 消息摘要

4.1 消息摘要的概念   消息摘要有好几个名字,比如单项散列函数,Hash 函数,它是一个将可变长度的输入串转换为一个固定长度的输出 串的函数。大多数消息摘要算法都是公开的,它的安全性依赖于它的单向性,如果仅获取到消息摘要的结果,想要从结果 反推出原文几乎是不可能的事情。并且对于输入串的细微改变,都会引发输出串的雪崩式变化,所以消息摘要一般用于校 验数据...

【转】IOS中各种常用控件的默认高度,很全

1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用。如下图   用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑色。   如果需要隐藏状态栏可以使用调用: [[UIApplication sharedApplication] setStatusBarHi...