物流行业案例 | 全链路压测如何保障申通物流系统稳定性问题?
Posted 数列科技公司
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物流行业案例 | 全链路压测如何保障申通物流系统稳定性问题?相关的知识,希望对你有一定的参考价值。
2019年3月11日,申通快递正式宣布阿里巴巴投资46.6亿元,成为公司第二大股东。这也宣告着,申通快递正式加入“菜鸟联盟”。这次入股带来的除了资金以外,也带来了申通快递“智慧物流”的加速建设。
申通快递正式开始全面推进数字化建设,而提升系统性能稳定性正是重中之重。2019年7月底,为备战新一轮双十一,申通指派全链路压测核心技术负责人董工与数列架构师隆冬强接触,商讨基于生产环境的全链路压测方案可行性。
董工提问 | 隆冬强回答
我们物流行业的业务特性决定了系统链路非常复杂且冗长,从系统订单生成、波次计算、拦截拣货、安全验视、批次出库、地区分派需要经过非常多的环节和应用。
1
流量染色
拿波次计算和拣货任务来说,首先在压测的时候,我们会给所有的压测流量进行染色,让中间件能够区分出哪些是正常订单哪些是压测订单。
当正常订单经过波次计算,生成拣货任务时,如果Agent识别此流量为正式流量,那该流量将会走正常业务处理,最终被写入正常业务表里。当压测订单经过波次计算,生成拣货任务时,Agent会识别压测流量并对压测流量进行特定逻辑处理,将产生的压测拣货数据存储到影子库表里,从而实现了与正常的业务数据的物理隔离。
2
白名单核验机制
白名单是指进行压测链路改造后的链路集合,通过白名单机制能够有效避免压测流量流经未压测改造的链路造成数据污染。
3
压测试跑
每次正式压测前我们会先在性能环境进行压测试跑,试跑成功后才会到线上环境进行小流量试跑,小流量试跑也没问题后才会进行正式的压测。
你说的没错,业务应用植入Agent确实会占用一定的资源,这是不可避免的。据我们评估,整套Agent植入后大约会占用机器3%~5%的性能资源。
虽然不是很多,但考虑到确实很多客户都有这类担忧,我们的产品特地设计了开关控制,可以全局控制压测是否需要启动。你们可以根据实际压测的计划,在不需要压测的时候关闭压测,这样就可以实现几乎0性能损耗了。
为了备战双十一物流顶峰压力,申通全链路压测小组与数列压测实施成员合并成立专项项目组,负责对申通核心系统主要链路的全面生产环境压测,于10月底成功完成所有压测任务,保障了双十一核心系统稳定运行。
申明:本文章版权为数列科技所有,未经授权不得以任何形式转载
———————— E N D ————————
以上是关于物流行业案例 | 全链路压测如何保障申通物流系统稳定性问题?的主要内容,如果未能解决你的问题,请参考以下文章