发布与订阅者模式-复盘

背景

  • 传统点对点调用让服务之间像蜘蛛网一样缠绕:一次改动,全网抖动。
  • 发布-订阅(Pub/Sub)通过Broker把“谁发”与“谁收”彻底解耦,将调用关系转化为“主题-订阅”声明式关系,成为现代微服务、实时推送、事件驱动架构的事实标准。

点对点耦合

点对点耦合的成因

  • 在微服务中,A服务直接调用B服务的RPC接口,调用链被硬编码在代码与配置里。一旦B的地址、参数或返回结构变更(接口强依赖),A必须同步修改并重新上线;若B新增C、D依赖,调用网呈指数级扩散,任何节点故障都会沿着链路层层放大,形成“雪崩”效应(级联故障)。

目标

  1. 解耦:发布者零感知订阅者
  2. 可扩展:主题、订阅量线性增长
  3. 可靠:消息不丢、不重、不乱序

功能拆分

Subscriber(订阅者|消费者)

订阅声明:Topic

Broker(消息总线|消息代理)

主题管理:创建 / 删除 / 查询 Topic
路由:Topic → Subscribers 映射

Publisher(发布者|生产者)

消息封装:Topic + Payload

详细设计

0545d4561ba8c040982d275441c74593

模块 代码
Interfact.ts image
Subscrier.ts image
Publisher.ts image
Broker.ts image
Client.ts image

结果

image

posted @ 2025-11-19 23:15  HuangBingQuan  阅读(23)  评论(0)    收藏  举报