文章目录
消息队列概述
分类
- Pull to Pull - P2P : 点对点模式
- 市面上绝大部分的消息队列都是点对点模式或者支持点对点模式
- 点对点模式下,数据往往只能被消费一次
- Public/Subscribe - 发布订阅模式
- 市面上会有较少的队列使用发布订阅模式
- 发布订阅模式下,数据往往可以多次消费
消息系统的适用场景
- 解耦:各个系统之间通过消息系统这个统一接口交换数据,无须了解彼此的存在
- 冗余:部分消息系统拥有持久化的能力,可以规避消息处理前丢失的风险
- 消峰限流:消息系统可顶住峰值流量,业务系统可根据处理能力从消息系统中获取数据
- 异步通信:在不需要立即处理请求的场景下,可以讲请求放入消息系统中,在需要的时候再取出处理
消息队列对比
RabbitMQ
- RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因