您的位置:首页 > 其它

RabbitMQ 系列——1.初始

2015-07-26 16:29 375 查看

目录

目录

AMQP

RabbitMQ

RabbitMQ 消息持久化

kombu
介绍

消息的使用场景设想

消息可靠性

AMQP

advanced message queue protocol

virtual host(虚拟机)

一个虚拟机持有一组交换机,队列,绑定;

用户只能在虚拟机的粒度进行权限控制;

每个QabbitMQ服务器都有一个默认的虚拟机’/’;

exchange(交换机)

交换机是存储路由绑定的路由表;

交换机分类:

Fanout Exchange: 将消息发送到绑定于该交换机的所有队列;

Direct Exchange: 将消息发送到指定关键字队列;

Topic Exchange: 模式匹配路由键;

queue(队列)

队列是消息的容器;

队列是消费者通过程序创建的;

binding(绑定)

用于将队列注册到交换机中;

RabbitMQ

介绍:

RabbitMQ 是基于 AMQP 协议实现的消息队列;

特点:

RabbitMQ 支持消息持久化;

RabbitMQ可以和python无缝结合;

RabbitMQ 消息持久化

RabbitMQ默认不会持久化消息,队列,交换机的。需要持久化消息则要进行以下配置:

将交换机设置成durable;

将队列设置成durable;

将消息 Delivery Mode 配置成 2;

如果绑定了一个 durable 交换机 和 一个 durable 队列,则该binding也是自动持久化的;

kombu

介绍

kombu是一个python的消息处理库;

消息的使用场景设想

request/reply

请求/应答场景指一个消息会被发送到指定的接受者手中,由
direct
交换机实现;

broadcast

广播应用场景指一个消息将会官博到所有消费者,由
fanout
交换机实现;

push/subscribe

推送/主题应用场景指一个消息会根据主题将自己推送到对应主题的消费者,由
topic
交换机实现;

消息可靠性

AMQP定义了两种内置的传输模式:

persistent(持久化)

消息将会写到磁盘上,重启后可恢复;

transient(暂存)

数据只会暂存到内存中,无法在重启时恢复;

消息持久化会消耗一定的资源,但是对于一些必须持久化数据的应用,这些消耗是需要的;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RabbitMQ kombu AMQP