The Pragmatic Engineer与 Sam Newman 探讨构建弹性系统:微服务是最后手段,AI 时代更需模块化架构
《Building Microservices》作者 Sam Newman 在 The Pragmatic Engineer 播客中表示,微服务应是架构的“最后手段”而非默认选择。他分享团队采用微服务时的常见误区、独立部署与团队自治的价值,并介绍新书《Building Resilient Distributed Systems》中分布式系统三原则、可观测性必要性,以及根据业务上下文决定 fail open 或 fail closed。他还谈到 AI 如何改变软件开发,从规格与代码作为真相来源,到认知债与认知投降,并指出模块化架构能帮助团队在试验 AI 的同时保持对系统的理解。
Sam Newman 是《Building Microservices》的作者,这本书是微服务领域被阅读最多的著作之一,但他本人却称微服务为架构的“最后手段”。在 The Pragmatic Engineer 播客中,他解释了这一看似矛盾的观点:他当年亲历“微服务”一词的诞生,深知它解决什么问题,也清楚它带来什么代价。对中文开发者而言,这种来自概念源头参与者的反思尤其值得细读,因为它能帮助团队避免把微服务当成默认架构模板。
Newman 指出,团队在采用微服务时经常犯错,比如过早拆分、低估运维与调试成本、把组织问题误认为技术问题。他强调独立部署的重要性:只有服务能独立部署,团队才能真正自治,交付节奏才不会被其他团队阻塞。但独立部署不是免费午餐,它要求清晰的边界、契约管理和成熟的工程实践。
在新书《Building Resilient Distributed Systems》中,Newman 提出分布式系统三原则,并强调可观测性是弹性的基础。他还特别指出,决定错误时 fail open 还是 fail closed,不能只看技术指标,必须结合业务上下文。这一观点对中文 AI/科技团队很有启发:弹性设计不是纯工程问题,而是业务连续性与用户体验的权衡。
播客后半段转向 AI 对软件开发的影响。Newman 讨论了规格与代码作为真相来源的张力,以及“认知债”和“认知投降”两个风险:当团队过度依赖 AI 生成代码却不再理解系统时,长期维护会变得危险。他建议用模块化架构来隔离 AI 试验,让团队在享受效率提升的同时,保留对关键系统的理解与控制。
整体来看,这期节目适合正在做架构演进、平台工程或 AI 辅助开发的团队负责人。它不提供万能答案,但提供了来自一线实践者的判断框架:微服务是工具而非目标,弹性来自可观测性与业务对齐,而 AI 时代更需要有意识地维护团队认知。