《混沌工程》读书笔记

2022-09-05 15:19:43 浏览数 (1)

混沌工程的实验原则——线上测试的原则——系统稳定性验证原则

1.建立稳定状态的假设

2.要多样的现实世界事件做验证

3.在生产环境中进行实验

4.自动化实验以持续运行

5.最小化爆炸半径

稳定状态的系统指标和业务指标

稳定状态——人的稳定状态——血压、稳定——IO、内存——必要但不充分——系统指标

稳定状态——人的稳定状态——运动、思考——响应程度——充分——业务指标

检测一个系统的健康程度(业务指标)

我们正在流失用户吗?

用户目前可以操作网站的关键功能吗?

目前存在较高的延迟致使用户不能正常使用我们的服务吗?

收入指标

选择指标还要考虑:

指标和底层架构的关系——分布式服务的pod中的CPU与Node的CPU

收集相关数据需要的工作量——每次请求的健康程度——日志爆了

指标和系统接下来的行为之间的时间延迟——每月的月活与业务今天的健康程度毫无关系

监控建设流程

建立假设——金丝雀发布——建立告警

系统经典的故障情况:

硬件故障

功能缺陷

状态转换异常(例如发送方和接收方的状态不一致)

网络延迟和分区

上行或下行输入的大幅波动以及重复风暴

资源耗尽

服务之间部长长的活着预料之外的组合调用

拜占庭故障(例如性能差或有异常的节点发出有错误的响应、异常的行为、对调用者随机地返回不同的响应等)

资源竞争条件

下游依赖故障

生产环境做检测要有故障域的概念——也是微服务、分布式服务必然的要求

同时采用故障域概念具有一定的乘数效应

对服务调用失败的模拟——验证该服务对缺陷代码的弹性——验证高负载、错误配置、异常终止

混沌工程成熟度模型

https://cloud.tencent.com/developer/article/1622874

io

0 人点赞