本篇文章整理自我司研发工程师杨可奥以及 PingCAP 工程效率负责人、Chaos Mesh 负责人周强在 GoCN 开源说上的演讲实录。
本文首先介绍了对混沌工程这一概念的描述,分享了混沌工程的动机和实践方式以及 Chaos Mesh 项目的发展情况。在后半部分,介绍了 Chaos Mesh 项目本身的架构,并涉及到在 Go 的生态环境中对容器等基本概念进行操作。干货十足,enjoy~本文首先介绍了对混沌工程这一概念的描述,分享了混沌工程的动机和实践方式以及 Chaos Mesh 项目的发展情况。在后半部分,介绍了 Chaos Mesh 项目本身的架构,并涉及到在 Go 的生态环境中对容器等基本概念进行操作。干货十足,enjoy~
混沌工程概述
现在的技术潮流在向着大规模集群、超复杂的分布式系统与微服务架构演进。在演进的过程 当中,虽然给我们带来了不少的便利,同时也带来了许多的麻烦。其中之一便是 —— 当一个节点发生错误的时候,我们无法预料它将产生怎样的蝴蝶效应。它将只牵涉到部分服务还是会让所有服务崩溃?它能够自愈吗?更可怕的是,随着计算规模的扩大,故障发生的可能性也越来越大。对于一个个人电脑用户来说,可能用到更换电脑硬盘也不曾发生过损坏;而对于服务器集群来说,每天都可能会有数块磁盘损坏需要更换。

无论是云计算的领头羊 AWS,或是面向工程师们的 GitHub,还是互联网巨头 Google,都无法逃离故障的命运。
混沌工程是一门新兴的技术学科,他的初衷是通过实验性的方法,让人们建立对于复杂分布式系统在生产中抵御突发事件能力的信心。
而混沌工程便是在这样糟糕的环境下,让开发者、运维对复杂系统仍然保持信心的方法。
混沌工程历史
混沌工程已经走过了十一个年头了。从最初Netflix提出这个概念,到 16 年 Gremlin 给出了 混动工程的商业产品,试图形成混沌工程服务的商业模式。Chaos Mesh 是在 2019 年末开源的,现在也成为了最受关注的混沌工程项目之一。
混沌工程步骤
如果想要为你管理的项目引入混沌工程,那么可以依照以下五步的循环:

不断进行这五步的循环,将对工程的稳定性产生明显的提升。以混沌工程在 TiDB 上的实验为例:
1. 我们立下期望,TiDB 在删除一个节点之后应该能够在短时间内恢复。<
混沌工程与ChaosMesh

本文介绍了混沌工程的概念及其在复杂分布式系统中的应用,并详细解析了ChaosMesh项目架构及其实现方法。
最低0.47元/天 解锁文章
868





