Go 开源说第八期:Chaos Mesh® 云原生混沌工程测试平台

点击蓝字

关注我们

本文由“GO开源说”第八期 《Chaos Mesh® 云原生混沌工程测试平台》直播内容修改整理而成,视频内容较长,本文内容有所删减和重构。

本文将先对混沌工程这一概念进行描述,介绍混沌工程的动机和实践方式,并介绍 Chaos Mesh 项目的发展情况。而在后半部分,介绍了 Chaos Mesh 项目本身的架构,作为一个典型 的云原生环境下的软件,同时也涉及到在 Go 的生态环境中对容器等基本概念进行操作,希望 对读者将来类似的技术实践能够有所帮助。

混沌工程概述

现在的技术潮流在向着大规模集群、超复杂的分布式系统与微服务架构演进。在演进的过程 当中,虽然给我们带来了不少的便利,同时也带来了许多的麻烦。其中之一便是 —— 当一个 节点发生错误的时候,我们无法预料它将产生怎样的蝴蝶效应。它将只牵涉到部分服务还是 会让所有服务崩溃?它能够自愈吗?更可怕的是,随着计算规模的扩大,故障发生的可能性也 越来越大了。对于一个个人电脑用户来说,可能用到更换电脑硬盘也不曾发生过损坏;而对于 服务器集群来说,每天都可能会有数块磁盘损坏需要更换。

无论是云计算的领头羊 AWS,面向工程师们的 Github,还是互联网巨头 Google,都无法逃离 故障的命运。

混沌工程是一门新兴的技术学科,他的初衷是通过实验性的方法,让人们建立对于复杂分布式系统在生产中抵御突发事件能力的信心。

而混沌工程便是在这样糟糕的环境下,让开发者、运维对复杂系统仍然保持信心的方法。

混沌工程历史

混沌工程已经走过了十一个年头了。从最初 Netflex 提出这个概念,到 16 年 Gremlin给出了 混动工程的商业产品,试图形成混沌工程服务的商业模式。Chaos Mesh 是在 2019 年末开源的,现在也成为了最受关注的混沌工程项目之一。

混沌工程步骤

如果想要为你管理的项目引入混沌工程,那么可以依照以下五步的循环:

不断进行这五步的循环,将对工程的稳定性产生明显的提升。以混沌工程在 TiDB 上的实验为 例:

1. 我们立下期望,TiDB 在删除一个节点之后应该能够在短时间内恢复。

2. 进行了删除节点的混沌实验

3. 发现前两次 TiDB 都在短时间内恢复了,而第三次却花了很长的时间才恢复

4. 调查这之中是否存在一些 Bug,修复之后再次进行实验,看看还有没有这个问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值