RabbitMQ 系列——1.初始
2015-07-26 16:29
375 查看
目录
目录AMQP
RabbitMQ
RabbitMQ 消息持久化
kombu
介绍
消息的使用场景设想
消息可靠性
AMQP
advanced message queue protocolvirtual 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集群搭建笔记
- python使用rabbitmq实现网络爬虫示例
- Linux下PHP扩展amqp安装
- CentOS6.5 安装rabbitmq
- 非常不错的rabbitmq集群高可用部署
- AMQP协议
- Rabbitmq 安装与配置
- rabbitmq可靠性保证(原文加上部分标记)
- rabbitmq流控制(原文标记)
- AMQP的各种对比
- AMQP协议
- rabbitMQ安装
- rabbitmq——用户管理
- rabbitmq 消息传送与监听
- rabbitmq 消息传送与监听
- Red Hat - A-MQ透过Fabric 建立A-MQ 的丛集,并设定AMQP的通讯协定
- [翻译] [RabbitMQ+Python入门经典] 兔子和兔子窝
- RabbitMQ的WEB管理器rabbitmq_management
- RabbitMQ修改端口号和心跳时间