09-16
拆开微服务,里面是 Parnas 1971 年的模块
Ted Neward 逐条拆解微服务的卖点:文中引用的六条好处,两条来自微服务文献,两条来自二十年前的 EJB 宣传,两条来自四十多年前的 Oracle Tuxedo 文档。剥掉包装后剩下的是 1971 年 Parnas 论文里的“模块”——独立构建、版本化、部署、可复用的代码单元;CLR 的 assembly、JVM 的 JAR、操作系统的动态库都是它,Unix 的 pipes-and-filters 早在 70 年代就在讲同一件事。作者认为企业真正买到的是组织清晰度:小团队自己掌握分析、测试、数据、部署等依赖,不再被 DBA、QA、基础设施团队阻塞,代价是团队必须具备全套技能并承担 on-call。技术代价则是把进程内模块调用换成跨网络调用,延迟增加五到七个数量级,并且撞上分布式计算的谬误——加节点只会让它更糟。结论:模块或独立进程加统一 API 约定即可,组织依赖要在组织层面解决。适合架构师与技术负责人。