跳到主要内容

消息队列基础

一、消息队列概述

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 生产实践