Rabbitmq 简介
MQ(Message Queue,消息队列)是一种应用系统之间的通信方法。是通过读写出入队列的消息来通信(RPC则是通过直接调用彼此来通信的)。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
准备写些什么?
- 队列
- 消息可靠性,持久化
- 消息预读取(防饿死策略)
- 发布/订阅
- Fanout 普通订阅
- Direct 订阅带标签的消息
- Topic 订阅带主题的消息
- 集群
- 集群部署
- 队列镜像
- openstack && rabbitmq
各个组件是怎么使用rabbitmq的