项目管理
-
单体架构如何拆分为微服务架构?迁移步骤与实践指南
Meta 描述: 本文围绕单体架构拆分、单体应用迁移到微服务架构、微服务拆分顺序、数据解耦和架构演进等问题,介绍从单体系统逐步迁移到微服务生态的实践方法。 随着单体系统规模不断膨胀,许多企业开始尝试将其拆分为微服务架构。这是一条值得探索的道路,但绝非易事。实践经验表明,推进单体架构拆分和微服务迁移时…
-
微服务架构的权衡:优势、劣势与单体架构对比
许多开发团队认为,微服务架构优于单体架构;也有一些团队认为,微服务反而会降低生产力。和任何架构风格一样,微服务既有优势,也有劣势。要做出明智选择,就必须充分理解这些利弊,并结合具体场景进行判断。 本文将围绕微服务架构的核心权衡展开,重点分析微服务相对于单体架构在模块边界、分布式复杂性、最终一致性、独…
-
弹性系统设计:从午餐高峰看云服务过载治理
SEO 摘要: 本文介绍如何从餐厅午餐高峰理解弹性系统设计与云服务过载治理,重点讨论负载卸除、公平性与配额管理、自动扩展、队列深度管理、恒定工作量、控制平面与数据平面、冷缓存、断路器、自适应重试和运维可见性等策略,帮助团队构建安全可靠、可预测的分布式系统。 简介:从餐厅高峰理解弹性系统 在加入海外某…
-
分布式系统过载治理:如何通过较小服务控制请求节奏
简介:控制平面与数据平面的规模不匹配 在海外某些大型科技公司,团队会构建由许多独立小型服务组成的大规模分布式系统。每个服务都承担特定职责,并通过定义清晰的 API 与其他服务交互。这种架构让团队能够独立扩展、演进和运行各个服务。 在云服务架构中,一种常见模式是将系统拆分为两类服务:一类负责执行客户请…
-
组件群管理是什么:如何用自动化治理大规模代码库
这是我们关于某海外音频科技公司如何进行组件群管理,以及如何大规模管理软件的系列文章第一部分。另请参阅第二部分和第三部分。 简而言之,与其每年对基础设施做 10 次大型软件升级,不如在整个代码库中持续完成 10,000 次小型升级。 这正是 Fleet Management 背后的核心理念。本文将其译…
-
技术迁移失败,未必是因为人手不足:如何诊断架构迁移问题
最近,我和一位朋友聊天。他提到,他们公司遇到了一个很常见的开发者生产力瓶颈:公司强制要求团队从单体架构和单体代码库迁移出去,但技术迁移进展非常缓慢。 为了加快迁移,负责基础设施的团队决定停止维护旧的单体架构,转而专注于新的服务化环境。两年后,工程师们开始陆续离职,只为避免在迁移过程中同时承受两套系统…
-
制定工程战略的五个步骤:探索、诊断、完善、方针与运营
你经常会看到一些杂乱无章的想法被贴上“战略”的标签。即使这些文档内容很多,也往往很难读懂。这也是为什么很多工程师会说,他们所在的公司没有清晰战略。 不过,根据我的经验,所有公司其实都在遵循某种战略,只是这种战略未必被明确写成文档。对于工程管理者和技术负责人来说,真正的挑战不是“有没有战略”,而是如何…
-
工程战略中的诊断:如何做好战略诊断
完成战略探索之后,下一步就是进行战略诊断。所谓战略诊断,是指理解这项工程战略必须面对的限制条件、现实约束和关键挑战。尤其重要的是,在充分理解问题的细节、背景和边界之前,不要急着寻找解决方案。 如果你很想跳过诊断阶段,直接进入方案设计,那么你也许需要先意识到一点:我见过的所有失败战略,几乎都源于诊断过…
-
软件研发效能指标怎么选?三类项目与三大原则
软件研发效能指标,是衡量团队交付效率、工程能力和业务价值流动的重要依据。近年来,“软件研发效能”成为行业热词,频繁出现在各类技术会议、工程管理讨论和企业实践中。许多科技企业和追求更高交付效率的团队,都在围绕研发效能建设平台、体系和方法论。 与此同时,一个核心问题仍然没有被彻底解决:什么才是合适的软件…
-
软件交付中的指标管理:如何合理使用指标,避免错误度量误导团队
管理层往往热衷于各种指标。他们的想法大致是:“我们需要一个数字来衡量工作表现。数字能让大家聚焦,也能帮助我们判断是否成功。”这种初衷并没有错,但以数字为核心的管理方式,往往会诱发一些问题行为,最终损害项目和组织的整体目标。 在软件交付和敏捷管理中,指标管理尤其需要谨慎。指标本身并不是坏事,问题在于它…