消息中间件,又叫MQ,这几年逐渐火爆起来,尤其擅长处理异构系统间的消息传递和对突发流量的削峰限流,而RabbitMQ是其中最典型的代表。
一、RabbitMQ 简介
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Java、C、PHP等,支持AJAX。可用于在分布式系统中存储转发消息,RabbitMQ有如下特点,
- 可靠性,使用一些机制来保证可靠性,如持久化、传输确认、发布确认。
- 灵活的路由,在消息进入队列之前,通过 Exchange 来路由消息的。
- 消息集群,多个服务器可以组成一个集群,形成一个逻辑 Broker 。
- 高可用,队列可以在集群中的机器上进行镜像,在部分节点出问题的情况下队列仍然可用。
- 多协议,支持多种消息队列协议,比如 STOMP、MQTT 等。