混沌工程介绍

1. 混沌工程定义

       混沌工程是在分布式系统上进行实验的学科,目的是建立对系统抵御生产环境中失控条件的能力以及信心,通过主动制造故障场景并根据系统在各种压力下的行为表现确定优化策略的一种系统稳定性保障手段,简单说就是通过主动注入故障的方式、提前发现问题,然后解决问题规避风险。

2. 混沌工程的五个原则

1)建立稳定状态的假设

        “稳定状态”是指系统正常运行时的状态。具体来说,系统的稳定状态可以通过一些指标来定义,当系统指标在测试完成后,无法快速恢复稳态要求,可以认为这个系统是不稳定的。指标可以分为系统指标和业务指标。系统指标(如CPU 负载、内存使用情况、网络 I/O等)有助于帮助我们诊断性能问题,有时也能帮助我们发现功能缺陷。在混沌工程中,业务指标通常比系统指标更有用, 在做混沌工程实验的时候,首先得确定需要测试的指标已经做了高可用的工作,才能进行验证指标对业务的是否有影响。如果没有做好高可用工作,而引入混沌工程实验的话,对业务而言将会是一声灾难。

2)真实事件

不能够凭空想像出一些事件来验证,而是引入那些真实存在的,频繁发生的,且影响重大的事件。对我们而言给这些事件做混沌实验才具有价值。如磁盘故障、网络延时、主机宕机等。

3)在生产环境运行实验

尽量在类生产环境中进行测试,生产环境的多样性是任何其它环境无法比拟的。混沌工程的价值就是保证生产上的业务连续不中断。

4)持续自动化运行实验

实施混沌工程实验一般最开始是人工手动操作,当我们对业务有足够的信心时,要把混沌实验做成持续自动化。在版本升级、不断迭代的过程中,持续不断自动化地做验证,最大程序保证业务的连续性验证。

5)最小化影响范围

做混沌工程的意义就是保证生产上的业务。在我们实施混沌实验时也必须保证对线上业务影响最小。在实施实验时,从小范围开始,不断扩大范围,避开高风险时段,如选择业务量最小的时候实施实验。

3. 混沌实验步骤

4. 混沌实验目的

  1)提升系统架构的韧性

     通过混沌平台对系统注入业务故障、基础故障或复杂场景故障,同时观测系统整体QPS、RT以及业务健康度,验证IT系统的流量调度是否准确,故障预案是否有效,以提升IT系统的健壮性。

 2)提升运维监控的有效性

  验证监控指标是否准确,监控维度是否完善,告警阈值是否合理,告警信息触达是否及时、准确,提升监控告警的准确性和时效性。

 3)提升团队应急能力

        随机对系统注入故障,验证故障跟踪、处理流程是否合理,以及研发运维团队对突发问题的应急处理能力,达到以练代战,提升团队定位与解决问题的能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值