遗留现代化:围绕大型机构建实时系统

这是一篇关于在 2024 年 11 月 QCon 旧金山会议上的演讲“Where Did Half the Room Go?”的文章,主要讲述了国家电网通过一系列策略对其架构进行转型的故事,包括解耦技术系统、组织结构和语义理解等方面,以解决遗留系统带来的问题。

  • 背景与问题:在 2024 年中期的 PI 规划会议中,因计费大型机故障导致一半参会人员离开,而团队正在进行替换客户网络门户的增量多年计划,得益于边缘路由和云流架构,应用仍能正常服务。国家电网此前的统一 Web 门户 1.0 存在数据新鲜度问题、同步大型机依赖、后端前端激增和分布式事务复杂等技术问题,以及由业务技术组结构导致的协调困难等组织问题,还存在潜在的级联故障风险。
  • 转型目标与策略:明确了技术上解耦前端和 Web 服务、减少依赖、赋能工程,以及业务上减少客服中心工作量、降低许可成本、提高客户满意度等目标。通过应用领域驱动设计(DDD)、团队拓扑、事件驱动架构和变更数据捕获(CDC)等四种互补范式来实现转型,DDD 用于重塑大型机数据,团队拓扑调整组织结构,事件驱动架构实现组件解耦,CDC 构建参考系统。
  • 新架构与实施步骤:新架构将大型机作为记录系统,通过 CDC 捕获变化并将其流式传输到云原生架构中,包括事件中心、后台服务、文档数据库、公共 API 等组件。实施步骤包括创建参考系统(通过 CDC 实时捕获主机制数据变化)、基于 DDD 和 GraphQL 建模数据(避免后端前端激增)、采用团队拓扑结构(创建流对齐团队等)、实施事件驱动架构(内部域事件和反腐败传奇模式等),并面对了事件驱动复杂性、可观察性要求、大型机批处理、GraphQL 模式管理和横切关注点等挑战。
  • 发布策略与混合架构:采用敏捷发布列车流程,通过 CI/CD 管道和特征标志协调发布,实现 trunk-based 开发,降低协调成本和支持需求。实施渐进式过渡的混合架构,通过边缘路由实现新旧实现之间的流量导向,以降低风险和持续交付价值。
  • 成果与总结:成功实现了技术和业务目标,如解耦前端与大型机、减少集成、赋能团队、降低成本和提高客户满意度等,构建了可随时间演变的基础架构,为未来的现代化工作奠定了基础,展示了通过应用 CDC、DDD、事件驱动架构和团队拓扑等模式来构建软件的创新方式。
阅读 10
0 条评论