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

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

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

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

概要

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

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

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

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

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


整体架构流程

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

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

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

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

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

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

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

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

http://www.jsqmd.com/news/1000550/

相关文章:

  • FlicFlac:如何在Windows上免费转换7种音频格式的终极指南
  • OpenSREClaw - AI Agent 可靠性度量模型
  • 2026 南宁黄金回收,全城认可专业回收门店 - 奢侈品回收评测
  • 郑州人卖迪奥:别被虚高报价坑!2026 实价回收,当场打款 - 奢侈品回收评测
  • NXP SLN-IOT-GPI平台:大型物联网节点网络的集成开发与部署指南
  • OBS直播使用教程:OBS美颜插件OBS美颜摄像头OBS美颜相机下载安装使用教程
  • 成都配眼镜一般什么价位 精简速查与预算参考手册 - 配眼镜新资讯
  • 电路分析“黑匣子”难题?用特勒根定理5分钟搞定(附典型例题详解)
  • 【Docker 从零到精通】:一份能真正上手的教程
  • 从CRUD到AI Agent:收藏这份后端开发者进阶指南,掌握未来!
  • AI Agent 规划与反思:从 ReAct 到 Reflexion 的推理增强实践
  • 如何用Snap Hutao智能工具箱轻松管理你的原神游戏体验 [特殊字符]
  • 3分钟搞定学术文献自由:Zotero SciHub插件终极指南
  • 海关人车全域无感管控与跨境镜头连续跟踪系统技术方案
  • STM32F103可用的轻量级C语言QR码生成代码(已修复嵌入式平台兼容性问题)
  • 盐田区营养师培训哪家强?免费试听感受教学实力 - 17329971652
  • IACheck赋能AI报告审核通审Agent版:新项目方法确认与变更审核一键通审
  • 2026年杭州AI搜索优化公司哪家强?深度评测与避坑指南 - 品牌报告
  • 2026盐田区网络安全培训怎么选?实地验证筛选好课 - 13724980961
  • OpenClaw 接入飞书 / 钉钉 / 企业微信:从 HTTP Webhook 到 WebSocket 长连接
  • Snap Hutao:如何用终极原神工具箱轻松提升你的游戏体验?
  • 别再只看温度了!硬盘SMART里这3个参数才是真正的“暴毙”前兆
  • 别再傻傻分不清了!用Wi-Fi和5G的例子,一次搞懂比特率、波特率与信道容量
  • 电力之网:连接世界的语言桥梁
  • 恩智浦P1021/P1012 MDS开发系统:从硬件验证到驱动开发的嵌入式网络处理器实战指南
  • NotebookLM九个高级使用技巧,轻松打造你的AI数字分身
  • 如何构建个人离线音频库:跨平台喜马拉雅下载工具完整指南
  • 终极分屏游戏方案:Nucleus Co-Op 完全指南
  • VASP计算不收敛?别慌,先检查这五个参数(EDIFF/IBRION/POTIM/ISMEAR实战避坑)
  • 2026年泰州装修设计公司推荐榜单:高品质家装/办公空间与创意设计口碑之选 - 品牌发掘