《混沌工程》读书笔记

混沌工程是一门通过模拟生产环境中的异常来验证系统稳定性的科学。其核心原则包括建立稳定状态假设、多样性验证、生产环境实验、自动化实验和最小化影响范围。关键在于监控系统健康,如用户流失、功能可用性、延迟问题和收入指标。此外,涉及硬件故障、功能缺陷等经典故障场景,以及故障域的概念。混沌工程的成熟度模型帮助企业逐步提升系统韧性。实施流程包括建立假设、金丝雀发布和告警设置。
摘要由CSDN通过智能技术生成

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

1.建立稳定状态的假设

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

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

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

5.最小化爆炸半径

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

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

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

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

我们正在流失用户吗?

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

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

收入指标

选择指标还要考虑:

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

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

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

监控建设流程

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

系统经典的故障情况:

硬件故障

功能缺陷

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

网络延迟和分区

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

资源耗尽

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

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

资源竞争条件

下游依赖故障

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

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

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

混沌工程成熟度模型

混沌工程(Chaos Engineering) 到底是什么? - 腾讯云开发者社区-腾讯云

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值