写点什么

生产环境全链路压测建设历程 21:某快递 A 股上市公司的生产压测案例之基于测试流量的混沌工程(故障演练)

发布于: 2020 年 12 月 29 日

基于探测流量的全链路巡检上线后,对于D公司来说,有了全链路读写压测和全链路读写巡检的加持后,在性能确定性和接口确定性是有了质的提升。



但,墨菲定律告诉我们:“凡是可能出错的事就一定会出错”;



D公司的系统有100+核心API,运行在复杂的分布式环境里面。每隔几天,总会有一些组件出现卡顿、挂掉的情况。而应用系统在这样一些不确定的情况下,在组件挂掉后,总需要一段时间才能处理恢复完成。



这时候,大家就会想,有没有一种办法,可以让某些不重要的流量,来做各种各种的故障演练,但又不影响真实用户的使用体验。

混沌工程

Netflix工程师创建了Chaos Monkey,使用该工具可以在整个系统中在随机位置引发故障。正如GitHub上的工具维护者所说,“Chaos Monkey会随机终止在生产环境中运行的虚拟机实例和容器。”通过Chaos Monkey,工程师可以快速了解他们正在构建的服务是否健壮,是否可以弹性扩容,是否可以处理计划外的故障。

2012年,Netflix开源了Chaos Monkey。今天,许多公司(包括谷歌,亚马逊,IBM,耐克等),都采用某种形式的混沌工程来提高现代架构的可靠性。 Netflix甚至将其混沌工程工具集扩展到包括整个“Simian Army(中文可以译为猿军)”,用它攻击自己的系统。



混沌工程属于一门新兴的技术学科,行业认知和实践积累比较少,大多数IT团队对它的理解还没有上升到一个领域概念。阿里电商域在2010年左右开始尝试故障注入测试的工作,希望解决微服务架构带来的强弱依赖问题。

实施方案

1.D公司部署了数列科技的javaagent,结合压测、探测流量来做全链路压测和全链路读写巡检

2.结合探测流量,javaagent,来注入故障故障,来模拟指定组件的“故障”

3.在故障演练场景,来倒推验证应用系统的健壮性





发布于: 2020 年 12 月 29 日阅读数: 17
用户头像

还未添加个人签名 2017.12.21 加入

还未添加个人简介

评论

发布
暂无评论
生产环境全链路压测建设历程 21:某快递 A 股上市公司的生产压测案例之基于测试流量的混沌工程(故障演练)