消息队列专场直播 | 青训营笔记

31 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第11天。

消息中间件(队列)

在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信。

发布订阅模式

定义对象之间的一对多依赖关系,以便在一个对象更改状态时,自动通知并更新其所有依赖关系。

事件驱动架构-EDA

事件驱动体系结构是一种体系结构样式,将系统的传入请求收集到一个或多个中心事件队列中。事件从事件队列转发到要处理事件的后端服务。

作用

  1. 异步
  2. 解耦
  3. 削峰

RocketMQ

  1. 阿里开源
  2. Java语言编写
  3. 分布式,高可靠
  4. 丰富的队列功能
  5. 大规模消息积压
  6. 社区活跃,成熟度高

Broker Server: 消息中转角色,负责存储消息,转发消息

Name Server :路由消息的提供者,多个实例相互独立

Producer Group:同一类Producer的集合,Producer发送同一类消息且发送逻辑一致

Consumer Group:同一类Consumer的集合,Consumer消费同一类消息且消费逻辑一致

Topic:表示一类消息的集合,是RocketQ进行消息订阅的基本单位

Clustering: 相同consumer Group的每个Consumer实例平均分摊信息

Broadcasting : 相同Consumer Group的每个Consumer实例都接收到全量信息。

Pull:主动调用Consumer的拉消息方法从Broker服务器拉消息、主动权由应用控制

Push: 基于Pull模式长轮询机制实现,不是真正的Push

image.png

特性: 死信队列 顺序消息 事务消息 定时消息 冋溯消息