消息队列,即消息的队列。用于进程间通信或同一进程不同线程间的通行方式。消息具
使用消息队列的优势
- 削峰填谷
- 应对瞬时高流量
- 吞吐量高,10w ~ 100w QPS
- 异步提高性能
- 减少接口的延时
- 系统之间的模块进行解耦
消息队列缺点
- 成为单点故障的瓶颈
- 消息会变得乱序
- 重复消费
- 某个步骤失败,其他步骤成功
消息队列使用场景
消息队列的术语
- Producer
- 消息的生产者(语言无关)
- Consumer
- 消息的消费者(语言无关)
- Broker ^b4ff72
- 消息队列服务端(即他自己)
- Topic ^8c3700
- 消息的主题/频道(像电视一样,有多个频道)
消息队列的功能/指标
- 吞吐量:每秒能处理的消息数量
- 10 ~ 100w 每秒
- 延迟
- 可用性 / 集群
- 发布 / 订阅
- 持久化
- 消息堆积
- 优先级 / 顺序和重复消息
- 分布式事务
消息队列的高级特性
- 最终一致性
- 明确业务需求
- 丢消息 <> 消息的重复
- 消费确认
- 消息的保证顺序
- 保证处理消息的顺序