当前位置: 首页 > news >正文

观察者模式在分布式系统中的变体:发布-订阅模式

推荐一个学习网站,http://easelearningai.com  输入学习主题,会根据你的知识背景,帮你把学习内容讲得通俗易懂。

观察者模式在分布式系统中的变体:发布-订阅模式

概要

简单说,发布-订阅模式就是“你只管喊,谁想听谁听”——一个消息发布者(喊话的人)不需要知道谁会收到消息,甚至不需要知道有没有人在听;而订阅者(听众)只关心自己感兴趣的内容,不需要知道是谁在喊。

这听起来是不是很像我们日常生活中的微信群?你在群里发了一条消息,群里的每个人都能看到。但你不需要知道谁在看、谁没看,也不需要把消息挨个私聊发给每个人。这就是发布-订阅模式最朴素的原型。

但等等,你可能会问:“这和观察者模式有什么区别?观察者模式不也是‘一个对象变化,通知所有依赖它的对象’吗?”

好问题。这正是我们要讲的核心——从观察者模式到发布-订阅模式,是一次从“点对点”到“广播站”的进化。观察者模式就像你直接给朋友打电话:“我到了,你出来吧。”——你需要知道对方是谁,电话号码是多少。而发布-订阅模式就像你在广场上用喇叭喊:“我到了,想见我的来广场东门。”——你不需要知道谁会来,甚至不需要知道有没有人来。

这个进化,是为了解决分布式系统(比如微服务架构、消息队列系统)中一个根本性的问题:当系统变得庞大、分散、动态变化时,如何让不同组件之间高效、松耦合地通信?


整体架构流程

想象一个大型购物网站:用户下单后,系统需要做很多事——扣库存、发短信通知、更新用户积分、生成物流单、通知商家备货……如果这些步骤都串在一起做,一旦某个环节卡住(比如短信服务挂了),整个下单流程就瘫痪了。

发布-订阅模式怎么解决这个问题?它引入了一个中间人——通常称为“消息代理”或“事件总线”。整个流程变成了这样:

  1. 发布者(下单服务):用户下单后,它只做一件事——向消息代理发送一条消息:“订单已创建,订单号是12345”。它不需要关心谁会处理这条消息。

  2. 消息代理(中间人):收到消息后,它根据消息的“主题”(比如“订单创建”),把消息复制多份,分发给所有订阅了这个主题的消费者。

  3. 订阅者(各种服务):库存服务、短信服务、积分服务……它们各自订阅了“订单创建”这个主题。当消息到达时,它们各自做自己的事,互不干扰。

这个流程的核心变化是:发布者和订阅者之间不再有直接联系。就像你发了一条朋友圈,你的朋友能看到,但你不必知道谁看了、谁没看。

为什么需要这个“中间人”?

如果不用发布-订阅模式,直接让

http://www.rkmt.cn/news/1512323.html

相关文章:

  • OBS直播使用教程:OBS美颜插件OBS美颜摄像头OBS美颜相机下载安装使用教程
  • 成都配眼镜一般什么价位 精简速查与预算参考手册 - 配眼镜新资讯
  • AI Agent 规划与反思:从 ReAct 到 Reflexion 的推理增强实践
  • 电路分析“黑匣子”难题?用特勒根定理5分钟搞定(附典型例题详解)
  • OpenClaw 接入飞书 / 钉钉 / 企业微信:从 HTTP Webhook 到 WebSocket 长连接
  • 电力之网:连接世界的语言桥梁
  • NotebookLM九个高级使用技巧,轻松打造你的AI数字分身
  • 如何构建个人离线音频库:跨平台喜马拉雅下载工具完整指南
  • Julia methods() 函数用法与多重分派原理详解
  • 如何用JPEXS Free Flash Decompiler深度解析遗留Flash应用架构
  • 硬核解读FastAPI:从类型提示到生产部署,Python Web开发的高性能必修课
  • 存在主义焦虑的庖丁解牛
  • Navicat重置脚本:Mac用户无限试用Navicat的终极指南
  • 南充黄金回收价格参考与防坑攻略 - 余生黄金回收
  • 银盐贵金属回收公司靠谱吗?实验室检测报告是关键依据 - 品牌2026
  • 2026 成都正规黄金回收门店推荐,30 家实体店走访榜单 - 禹竞
  • 具身智能 (Embodied AI) 与 机器人 Agent
  • 基于大模型的设计系统文档自动生成:从组件代码到规范文档的智能推导
  • Java后端8年经验!33岁转型AI,踩坑无数却涨薪30%,这3类人慎重!想转行必看收藏
  • i.MX 8M Nano UltraLite EVK开发指南:从异构计算到低功耗设计
  • AI架构师岗位的庖丁解牛
  • 2026南宁黄金回收哪家最靠谱?本地高口碑正规品牌排名出炉! - 开心测评
  • RAG+FastAPI构建企业级入职知识中枢
  • 如何挑选正宗无糖新疆特产作为长辈养生礼品?
  • Build 2026:Azure API Management 推出统一模型 API 并新增 MCP 内容安全能力
  • 颠覆传统游戏管理:Snap Hutao如何重塑你的原神体验
  • 深入解析MPC5668G/E汽车MCU:Power架构、双核设计及车载网络实战
  • 2026年东北防静电地板市场态势:辽宁锦峰装饰材料有限公司的工艺壁垒与价值解析 - 企业推荐官【官方】
  • 5步掌握GetQzonehistory:QQ空间数据备份的终极实战指南
  • i.MX535嵌入式处理器深度解析:从Cortex-A8架构到多媒体加速实战