极氪汽车是吉利控股集团旗下高端纯电汽车新品牌,2021年4月极氪发布首款高端智能电动车型极氪001,大获市场好评。截至2022年12月,001车型累计交付量突破7万台,连续3个月问鼎自主品牌30万以上豪华纯电车型销量冠军。
随着极氪App的上线,注册用户数量呈现出了爆发式的增长,用户身份及身份对应的使用场景也不断扩大。在此过程中,App用户使用体验变得愈发重要,如何在用户规模高速增长的同时可以保证App的满足互联网三高的场景、以及稳定性、流畅度、快速响应需求的敏捷性保证,这些都给极氪App研发团队带来了一定的挑战。
“感谢贵司对极氪App架构云原生升级改造项目的鼎力支持。通过近半年多的全面合作,TAM同学通过专业的技术能力、成熟的解决方案,帮助我们云原生架构和产品最佳实践,提高了C端业务系统的稳定性和敏捷性,为冲击更高的销量目标提供了坚实的技术支撑。这次项目仅仅是双方合作的开始,接下来希望通过异地多活等项目更好的提升业务的可用性,为我司汽车终端用户带来更好的出行体验和乐趣。”--极氪开发总监
阿里云服务团队深入极氪业务,基于SRE八大体系对客户App现状进行全面调研评估,识别出技术架构问题和风险,为极氪输出了App云原生架构整体改造方案,重点包括全链路灰度发布、微服务治理、容量规划、弹性伸缩、云产品优化等14个专项展开全面深度治理。
随着极氪汽车销售越发火爆,其注册用户和每日活跃用户快速增长,需要支持的业务场景和新功能也越来越多,平均两三天一个小版本、半个月一个大版本的升级频率。在原有架构下,为了不影响白天业务高峰,每次发版只能选择在凌晨业务低峰期进行。阿里云服务团队帮助客户制定和落地金丝雀发布方案:通过部署灰度版本,并按照流量比例等进行灰度验证,验证完毕后发布生产环境并切流,从而满足了极氪小版本白天随时发布的诉求。针对极氪核心业务链路上多个微服务同时需要发版的场景,基于MSE云原生网关和流量灰度打标来实现多业务的全链路灰度,覆盖CDN、网关、MQ、配置、数据库等灰度场景。在不需要更改任何业务代码的情况下实现多业务白天发版,同时通过逐步流量放大进行验证,如出现问题可及时回切流量,降低了白天发布可能导致的稳定性风险。通过改造云效流水线,帮助极氪实现核心业务自动化发布,更好地提升部署效率。
极氪App应用使用的是微服务架构,当进行业务发版、弹性扩缩容等场景时,会遇到请求失败率升高,POD不断重启等问题。针对此问题,结合微服务引擎MSE的产品能力,通过应用下线过程中自适应等待和主动通知、应用上线过程中就绪检查、服务预热等手段,实现微服务无损上下线发布,有效规避了发布过程中的流量损失,降低业务访问失败风险。引入MSE流量防控能力,针对核心业务场景落地相应技术手段,如接口限流降级、MQ削峰填谷、数据库慢SQL限流治理等,提高服务整体稳定性。
随着业务的快速发展,极氪App原架构下容量不足问题愈发突出,在面对新车发布、销售活动、突发热点情况时,无法快速进行水平扩展,并且大量核心业务库都放在同个数据库实例上,容易出现“一损俱损”。阿里云向极氪推荐使用PolarDB-X产品,并与极氪合作将积分库、用户库等核心库逐个剥离出来,通过对大表水平拆分解决单表过大问题,提高数据库层面水平弹性扩容能力。另外针对微服务弹性能力不足的痛点,输出多可用区节点弹性伸缩、HPA、CronHPA等容器弹性方案,提高核心服务在流量突发情况的应对能力。
为了明确极氪App能够真实承载的并发容量,协助极氪对核心业务接口进行多轮全链路压测和调优。通过全链路压测,不仅验证了灰度发布、无损上下线、弹性伸缩能力等专项改造方案效果,更增强了其将生产系统切换到云原生架构的信心。
基于云原生技术架构,有效提升汽车用户出行体验
阿里云服务团队与客户研发技术团队历时半年的联合攻坚,通过全链路灰度发布、微服务治理、容量规划、弹性伸缩、云产品优化等14个专项的全面深度治理,顺利完成极氪汽车App云原生架构升级项目,帮助客户核心系统提高了业务稳定性、敏捷性以及弹性能力,有效提升了用户出行体验。