和反方交手
100%
74 分钟
08
好架构通常不是二选一,而是把不同粒度放在正确层

为什么不用微服务、容器、Actor 或 OSGi 就好了

学完你会:理解插件化与进程隔离、服务化、Actor、OSGi、React Effect 的互补关系,避免技术宗教。

难度 ●●●产品 · 工程 · 论文
MODEL推理概率生成
AGENT行动目标 · 循环 · 选择
HARNESS运行工具 · 会话 · 事件
LUMI交付权威任务 · 成果 · 验收

越向外,责任越具体;内层能力不能自动拥有外层权威。

先记住这一句,再开始细读

Cordis 擅长同一受信宿主内的细粒度动态组合;进程、容器与服务边界擅长故障和信任隔离。企业系统需要双层甚至多层答案。

01
DEEP DIVE

插件化与微服务在优化不同成本

插件减少同一宿主内的组合成本,服务边界减少跨团队和故障域的耦合。

微服务把能力放在独立进程与网络边界,能独立部署、扩容和隔离故障,但带来协议、运维、延迟与分布式一致性成本。插件在同一进程内组合更轻、更快、共享类型和上下文,却共享宿主权限与故障爆炸半径。

Cordis 论文批评粗粒度方案无法优雅处理大量细小动态依赖,这是合理的;但粗粒度隔离仍不可替代。让不可信客户扩展与 Core 同进程运行,只因为 disposer 很漂亮,是把生命周期问题误当成安全问题。

推荐的双层结构是:受信、同版本、低风险的细粒度能力在进程内组合;不可信、高副作用、语言异构或资源密集的 Runtime/Provider 通过进程或容器隔离,并由企业协议连接。

本节依据
社区资料Release It!
社区资料Designing Data-Intensive Applications
论文A Programming Paradigm for Spatiotemporal Composability
02
DEEP DIVE

Actor 与 Supervisor 提供什么不同视角

Actor 更关心隔离状态和消息,Supervisor 更关心失败后谁来重启谁。

Actor 模型把状态封装在独立单元中,通过消息通信,避免共享可变状态。Supervisor tree 则把失败当作常态:子节点崩溃后由父节点决定 restart、stop 或 escalate。它们对长期运行 Agent Runtime 的故障管理很有启发。

Cordis Fiber 记录插件生命周期,但并不等同于 Erlang 式故障隔离。一个宿主插件抛出未捕获错误、耗尽内存或执行恶意代码,仍可能影响整个 Node 进程。我们可以借 Fiber 的状态解释,也借 Supervisor 的重启策略,却仍需进程所有权和资源限制。

在 Lumi 中,ExecutionSessionRef 可以表现出 supervisor 思维:平台拥有子进程、知道 termination scope、限制自动重启,并在外部副作用不明时升级为 outcome_unknown。

03
DEEP DIVE

OSGi 的成熟与复杂度都值得学习

动态模块、服务注册和生命周期早有成熟实践,也早有复杂度教训。

OSGi 提供 bundle 生命周期、服务注册、版本与动态解析,是理解成熟插件平台的好对照。它证明动态服务不是新问题,也展示了当版本、类加载和依赖解析进入生产后,运维和调试会迅速复杂。

DeepSeek Harness/Cordis 的开发体验更现代、表达更轻,但未来同样会遇到版本范围、依赖冲突、升级兼容和可观察性。与其等生态扩大后再补,不如早期就把 exact artifact、closure digest、兼容矩阵和 deprecation window 纳入企业扩展协议。

学习前人的目的不是复制 OSGi,而是避免重复把“动态加载成功”误认为“长期演化问题已经解决”。

本节依据
官方源码OSGi Core Specification
官方源码Learn to Develop OSGi Services
04
DEEP DIVE

React Effect 是好入口,但不是同一个理论

熟悉的 cleanup 能建立直觉,不能代替对 Cordis 运行时语义的理解。

React useEffect 让 UI 组件与外部系统同步,依赖变化或卸载时执行 cleanup。它和 Cordis disposer 都强调创建与清理靠近,因此是很好的教学桥。

区别在于 React Effect 服务于渲染生命周期与依赖数组;Cordis Context 还管理服务注入、插件层级、作用域、Fiber 状态与动态依赖。把两者说成完全相同,会掩盖 Cordis 的运行时组合贡献。

真正成熟的技术学习既要会找类比,也要会及时放下类比。类比负责让你进入,边界负责防止你误用。

同一个事实,四种职业镜头

你真正要带走的,不只是技术解释

切换身份,看看这项技术会怎样改变战略、产品、工程和长期运营。

创始人镜头

架构选择要看风险和组织成本,不要把开源项目的核心叙事直接变成公司的技术宗教。

离开本章前

四张可以带走的卡片

01

插件与微服务优化不同成本

02

Fiber 不等于故障隔离

03

OSGi 提醒我们版本复杂度

04

类比帮助入门,边界防止误用

理解检查

面对不可信且有高副作用的第三方扩展,最合适的边界是什么?

你的判断

把理解变成自己的语言

试着写下:这项机制能解决什么、不能解决什么,以及它会怎样影响你的产品判断。内容只保存在当前浏览器。

学完以后,再看原始材料

原文与源码放在最后,不打断学习

正文已经完成中文梳理。只有当你想核验作者原话、查看完整公式或进入代码时,才需要离开本站。

论文A Programming Paradigm for Spatiotemporal Composability88 页活动预印本。课程提供章节级中文释义与少量短摘录;完整原文始终指向作者仓库。社区资料Release It!从故障隔离、稳定性模式和生产现实反驳‘插件可卸载就等于系统安全’。社区资料Designing Data-Intensive Applications补足持久化、事件日志、分布式一致性与失败语义。官方源码OSGi Core Specification动态模块、服务注册与生命周期的成熟对照系。概念有价值,复杂度同样值得警惕。官方源码Learn to Develop OSGi Services视频路线:观察成熟动态服务体系的 activate / modified / deactivate 生命周期,并与 Cordis 作对照。