- Netflix提出,书名
- 目的
- 为了验证分布式系统在面临失控条件下,具备较强的可观测性和故障恢复能力
- 步骤
- 定义并测量系统的“稳定状态”
- 创建假设
- 破坏什么时,稳定状态没有改变
- 模拟现实世界可能发生的事件
- 证明或反驳假设
- 建设
- 引入
- 有拥抱失败的技术文化
- 实施
- 定义清晰可衡量的目标
- 推广
- 在控制风险的前提下不断提升效率
- 引入
- 阿里混沌工程画像
- ApplicationData
- 进程Hang、Kill,启动异常,心跳异常,环境错误,包错误或损坏,配置错误、误删、获取超时
- Data
- 系统单点,异步阻塞同步,依赖超时,依赖异常,业务线程池满,监控错误,OOM
- Runtime
- 负载均衡失效,缓存热点,缓存限流
- Middleware
- 数据库热点,数据库宕机,数据同步延迟,数据库主备延迟,数据库连接满,数据库热点
- OS
- CPU抢占,内存抢占,内存错乱,上下文切换
- Virtualization
- 服务器宕机、假死,断电,超卖,混部
- Storage
- 磁盘满、慢、坏,不可写,不可读
- Networking
- 网络抖动、丢包、超时,网卡满,断网
- ApplicationData
- 工具