一、再谈消息队列的应用场景
- 异步处理:例如短信通知、终端状态推送、App推送、用户注册等
- 数据同步:业务数据推送同步
- 重试补偿:记账失败重试
- 系统解耦:通讯上下行、终端异常监控、分布式事件中心
- 流量消峰:秒杀场景下的下单处理
- 发布订阅:HSF的服务状态变化通知、分布式事件中心
- 高并发缓冲:日志服务、监控上报
但是,我们对消息队列的底层技术和原理还是不了解,那么我们马上开始吧…
二、消息队列的一些基本概念和简单原理
1. Broker
Broker的概念来自与Apache ActiveMQ,通俗的讲就是MQ的服务器。
2. 消息的生产者、消费者
消息生产者Producer:发送消息到消息队列。
消息消费者Consumer:从消息队列接收消息。
3. 点对点消息队列模型
消息生产者向一个特定的队列发送消息,消息消费者从该队列中接收消息;
消息的生产者和消费者可以不同时处于运行状态。
每一个成功处理的消息都由消息消费者签收确认(Acknowledge)。如图: