客户介绍
顺丰速运是国内领先的物流综合服务商之一,目前已形成拥有“天网+地网+信息网”三网合一、可覆盖国内外的综合物流服务网络,其直营网络是国内同行中网络控制力强、稳定性高,也是独特稀缺的综合性物流网络体系。
业务挑战
物流行业与电商行业息息相关,每年电商购物节各大电商平台由于促销及运营策略,都会制造比平时业务量高数倍甚至数十倍的流量洪峰,物流行业的业务系统也必须承受住流量洪峰的压力,才能保障业务平稳运行。
顺丰往年的高峰压测都会面临不少问题:压测真实性偏差、硬件和人力成本高、无固定压测环境;此外在全链路压测探索路上还逃不开中间件不统一、改造周期长时间成本高、人才储备少无法优化中间件等问题。
为保障业务平稳运行,顺丰在每年高峰之前都需要对高峰系统进行一次全面的性能压测来进行统容量评估。
解决方案
生产全链路压测技术的核心是实现全链路染色与数据隔离,这需要业务链路流经的所有中间件(dubbo,jetty,springboot,http,kafka,redis,mysql,es,hbase等)都能识别压测流量并且将压测流量隔离到影子区域(影子库/表,影子kafka/topic,影子redis/key),有两种技术方案:改造中间件方案和JavaAgent方案。
经过对比顺丰选择基于JavaAgent全链路压测方案(Takin),它具备如下4重能力:
业务零侵入:业务系统接入无需修改代码或者修改极少的代码,对业务系统实现零侵入接入,开箱即用;
自动链路梳理:顺丰首次接入系统规模大,应用组件复杂,平台提供链路自动梳理,降低梳理成本,提高应用组件识别准确率;
数据安全隔离:顺丰高峰系统涉及最核心的56套S+A级系统,要实现高峰压测0故障,必须具备完善的安全防污染设计,防止压测期间数据泄露到生产环境;
自动告警熔断:压测期间具备自动告警熔断能力,防止影响生产业务;
丰富插件支持:针对顺丰当前应用组件版本规范不统一,种类及版本多现状,有开源的组件,也有业务系统自定义的组件,要求平台工具能兼容业界主流应用组件及版本,并提供针对定制组件的开发适配能力。
客户收益
- 建设高峰保障敏捷团队,统一标准协作提升效率
首次组建高峰保障敏捷团队,按照压测前、压测中、压测后的时间顺序,按项目团队、业务团队、专业团队进行具体向西分工,责任明确避免重复劳动,统一标准,协调各业务专业团队,全流程的为高峰保价护航,有效提升高峰压测效率。
- 完善生产压测的全流程风险管理机制,控制压测风险
逐步完善生产压测的全流程风险管理机制,从压测平台方案防护,压测流程标准化建设,到关键环节的评审管理机制全方位考虑,力求将生产环境压测的风险降到最低,实现生产压测0故障,不会对生产业务产生影响。
- 基于真实生产环境压测,降低压测硬件成本与真实性
不需要额外搭建压测环境来进行压测工作,借助在线压测有效对顺丰大规模系统性能进行准确评估和线上验证,压测结果更具有实际指导作用。21年共完成56套高峰系统在线压测,大幅降低硬件成本,同比2020硬件成本降低71.44%;
- 建设大规模分布式压测能力,提升压测效率与质量
结合K8S容器化技术,极大提升压力机服务器资源利用效率,21年建成大规模分布式压测能力,支持同时发起300w以上TPS(200ms RT)流量模拟能力,满足顺丰所有高峰系统同时压测,并支持后续水平扩容。在线压测共发现437个问题,其中10个问题(含4个高风险问题)在PST压测环境无法发现,发现问题更加精准,偏差更小,最终业务在双11业务高峰运行更稳定,实现高峰0故障。
本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。