跳到主要内容

消息队列基础

一、消息队列概述​

1.1 什么是消息队列​

1.2 消息队列的发展历史​

1.3 消息队列的作用和价值​

二、消息队列核心概念​

2.1 消息(Message)​

  • 消息结构
  • 消息属性
  • 消息体
  • 消息头

2.2 队列(Queue)​

  • 队列定义
  • 队列类型
  • 队列特性

2.3 主题(Topic)​

  • 主题概念
  • 发布订阅模式
  • 主题与队列区别

2.4 生产者(Producer)​

  • 生产者定义
  • 生产者类型
  • 消息发送方式

2.5 消费者(Consumer)​

  • 消费者定义
  • 消费者类型
  • 消息消费模式

2.6 代理(Broker)​

  • 代理概念
  • 代理作用
  • 代理集群

三、消息传递模式​

3.1 点对点模式(P2P)​

  • 模式特点
  • 工作原理
  • 应用场景

3.2 发布订阅模式(Pub/Sub)​

  • 模式特点
  • 工作原理
  • 应用场景

3.3 请求响应模式​

3.4 消息路由模式​

四、消息队列特性​

4.1 异步处理​

4.2 解耦合​

4.3 削峰填谷​

4.4 可靠性传输​

  • 持久化
  • 确认机制
  • 重试机制

4.5 扩展性​

4.6 顺序保证​

五、消息队列分类​

5.1 按架构分类​

  • 中心化消息队列
  • 去中心化消息队列

5.2 按协议分类​

  • AMQP 协议
  • JMS 协议
  • MQTT 协议
  • 自定义协议

5.3 按性能分类​

  • 传统消息队列
  • 高性能消息队列
  • 流处理平台

六、消息队列应用场景​

6.1 异步处理​

6.2 应用解耦​

6.3 流量削峰​

6.4 日志处理​

6.5 事件驱动​

6.6 分布式事务​

七、主流消息队列对比​

7.1 RabbitMQ​

7.2 Kafka​

7.3 RocketMQ​

7.4 Redis 消息队列​

7.5 ActiveMQ​

八、消息队列选型​

8.1 选型标准​

  • 性能要求
  • 可靠性要求
  • 功能需求
  • 运维成本
  • 社区支持

8.2 不同场景的选型建议​

九、消息队列挑战​

9.1 消息丢失​

9.2 消息重复消费​

9.3 消息顺序性​

9.4 消息堆积​

9.5 分布式事务​

十、学习路线​

10.1 基础知识​

10.2 实践项目​

10.3 深入原理​

10.4 生产实践​