消息队列,即消息的队列。用于进程间通信或同一进程不同线程间的通行方式。消息具

使用消息队列的优势

  • 削峰填谷
    • 应对瞬时高流量
    • 吞吐量高,10w ~ 100w QPS
  • 异步提高性能
    • 减少接口的延时
  • 系统之间的模块进行解耦

消息队列缺点

  • 成为单点故障的瓶颈
  • 消息会变得乱序
  • 重复消费
  • 某个步骤失败,其他步骤成功

消息队列使用场景

消息队列的术语

  • Producer
    • 消息的生产者(语言无关)
  • Consumer
    • 消息的消费者(语言无关)
  • Broker ^b4ff72
    • 消息队列服务端(即他自己)
  • Topic ^8c3700
    • 消息的主题/频道(像电视一样,有多个频道)

消息队列的功能/指标

  • 吞吐量:每秒能处理的消息数量
    • 10 ~ 100w 每秒
  • 延迟
  • 可用性 / 集群
  • 发布 / 订阅
  • 持久化
  • 消息堆积
  • 优先级 / 顺序和重复消息
  • 分布式事务

消息队列的高级特性

  • 最终一致性
    • 明确业务需求
    • 丢消息 <> 消息的重复
    • 消费确认
  • 消息的保证顺序
    • 保证处理消息的顺序