堪称传统基建奇迹的“三元桥43小时换新桥”工程的相关报道还历历在目,而某运营商也经历着类似的考验,需要在2天内完成某在线营销系统整体升级。作为某运营商的重要数据库产品与服务提供商,留给人大金仓的时间只有每天夜间的4小时,更难的是:运营商整个“换桥”的过程中除这两个4小时外,仍需保持“车辆通行”!
Tips:三元桥初建于1984年,日均车流量20.6万辆,于2015年11月13日晚23时至11月15日18时完成新桥替换。在43小时内完成了旧桥拆除、预制钢梁现场拼装及新桥整体置换的工作。
运营商营销系统升级项目实施计划图-数据库部分
何谓奇迹?系统升级的三道关
“第一是性能关,数据库必须进行严格的性能压力测试,以保证在未来三年及更长时间段内能够满足业务增长需求;第二是上线关,长期积累的大量历史数据在业务运行高连续性要求下,必须在有限窗口时间内完成数据迁移及配合应用完成业务系统的平滑切换;第三是回退关,当全国产环境出现灾难性故障时,须保证可借助原有系统提供业务的连续性支撑。”人大金仓项目负责人补充分析,“以上三点保障是本项目升级成功的关键,在金仓看来,照搬‘大力出奇迹’的传统解题思路是下策,第一,疫情、春节及冬奥会多重因素叠加导致的运营商各类业务压力增长,让该解题思路变得难以为继;第二,这种方式与金仓长期追求的精细化服务理念相悖。所以这次项目不止对运营商,对金仓来讲也是一个不小的挑战。”
性能 |以百米速度跑马拉松是什么体验?
金仓项目负责人介绍,客户原营销系统的存量数据近2TB,超百亿条;业务量日均超千万,峰值可达2000万,未来预计将翻3倍。系统建成后需保证9500以上的TPS指标要求,同时需保证业务处理整体响应时间不超3秒。考虑到未来近三倍的业务压力提升,用户选择通用高性能x86服务器作为验证平台,并选取10个典型业务场景,在不同的数据库并发连接压力下进行严格的性能指标测试。经测,金仓数据库在各测试中TPS平均值超38000,最高超42000,最低也有24000,比期望值平均高出3倍,远超指标要求。
上线 |随风潜入夜,换桥细无声
基于对原系统数据库结构及数据规模的判断,金仓对上线时的数据迁移过程总结出两点风险:
风险和挑战:
1)单次4小时左右的停服时间,只能保证完成基础数据的全部迁移,而在迁移后创建索引等环节可能会占用较长时间,存在较大风险;
2)系统运行环境为基于云的虚拟化平台,其性能影响可能进一步放大。
为保证原业务连续性,最大限度减少对原系统的影响,金仓采用了柔性迁移方案。
基于上述柔性迁移方案,金仓团队于2021年xx月12日开始执行系统迁移的实施工作。xx月12日22:00,系统进入第一个停服周期。次日01:00完成近2TB存量数据迁移,随即源端业务恢复,历时共计3小时左右。同时, KFS持续解析增量数据并进行本地缓存。xx月13日10:10目标端数据库完成索引创建等后续工作后,KFS目标端链路接通,并在20分钟内完成增量数据追平,达到两端数据实时同步。xx月13日22:10,系统进入第二个停服周期,进行两端数据的一致性校验,并在次日00:30启动KES承载的国产化平台应用,历时共计2小时左右。
在系统升级过程中,金仓实施团队分两阶段共占用5小时左右的停服时间,保证业务正常响应的同时,高效完成了重载系统的“换桥”任务。
回退 |升级不拆桥,保障多一道
国产基础软硬件在行业应用的深水区实践确实还在拓展阶段,用户对全国产平台的稳定性多少有所顾虑。据项目负责人披露,在做好常规的数据备份及高可用保障的同时,用户提出系统回退需求,以保障当全国产环境出现灾难性故障时,仍可借助原系统提供业务的连续性支撑。
双轨运行方案
借助异构数据库同步工具KFS,金仓提供完善的双轨运行方案,以满足系统回退需求。
阶段一:结合柔性迁移过程,在解决存量数据迁移及增量数据同步后,保持KFS从原系统数据库到KES的链路畅通。此时系统运行仍基于原数据库。阶段二:当KES作为生产系统承载库后,通过KFS独有能力,通过命令进行数据同步方向的切换,即KES向原数据库反向同步数据。此时原数据库作为备份节点,与KES保持数据实时一致,随时可承接应用负载。在整体方案确定后,金仓实施团队对每个阶段的工作颗粒度都要细化到最优:
历经3轮测试,该方案均保证了KES与原数据库的高效数据同步,延时稳定控制在5秒以内,系统整体具备回退条件。
结语
通过双方多次的方案细化迭代及紧张的项目实施,某运营商营销类业务系统于2021年底顺利上线,成功实现关键系统国产化升级,并顺利完成了春节及冬奥期间的重点保障服务,确保了系统的稳定运行,有效降低了数据库管控风险,稳定支撑运营商在31个省的线上营销赋能业务。人大金仓作为专业的数据库管理系统产品及解决方案提供商,秉承“以客户为中心”的服务理念,未来将继续和千万国产厂商一起,打造稳定、安全、智能的数字化环境,为客户搭建通往数字化高速公路的桥梁。