超大规模数据库集群保稳系列之一:高可用系统
00 出品人说
在数据库集群规模迅速扩大的背景下,如果出现故障,如何快速恢复成百甚至数千个集群的数据和服务,是很多大型互联网企业面临的重要挑战。线上部署了几十万的微服务,数据库结构和拓扑随时在发生变更,系统重构、内核升级、硬件设备汰换、机房搬迁等等,也都会对数据库的稳定工作产生一定的影响。作为整个IT系统中为重要、为底层的服务,即便遇到了极小概率事件的冲击,也会造成非常大的影响。对美团数据库团队来说,“低垂的果实已经摘完”,我们开始着力应对这些小概率事件对业务造成的冲击。
数据库稳定性保障的破局之道:一方面是提升平均无故障间隔(MTTF),另一方面是提升应急响应能力,即缩短平均修复时间(MTTR)。在这两个目标的指引下,美团数据库团队从能力驱动和故障驱动两个维度来构造整个稳定性保障的闭环体系。
从能力驱动的角度,我们借鉴了Google的稳定性保障体系。在底部的三层,通过故障演练/预案建设、复盘、可观测性的维度,思考怎么缩短故障处理时长;中间四层更多的是围绕研发需求、设计、上线、变更管控来降低故障的发生概率;顶层是产品运营,即通过面向内部用户的运营,指导业务对数据库进行选型和合理的使用,不断提升产品和平台易用性,并针对业务特点提供相应的解决方案。
从故障驱动的角度来说,包含事前预防和发现,事中故障定位,事后恢复、复盘和改进等等。从事前、事中、事后的全生命周期以及软件开发的各个阶段,全面提升管控和应急响应能力。
图1 数据库稳定性保障的破局之道