本文提供了混沌工程原理的实用知识,讨论了它在软件开发中的应用,并探讨了如何将其应用扩展到区块链开发中。
本文的教程部分演示了如何使用 ChaosETH 框架来利用混沌工程来测试以太坊客户端。 这种策略有助于在合约被网络成员广泛采用之前识别智能合约中的缺陷(有时称为“暗债”)。
内容
-
什么是混沌工程?
-
为什么混沌工程在区块链开发中有用?
-
为什么选择以太坊客户端?
-
为完整的以太坊客户端实施混沌测试
-
教程:使用 Go-Ethereum 客户端进行混沌工程实验
-
混沌ETH
-
创建开发环境
-
构建和运行目标以太坊客户端
-
为可观察性创建 Docker 容器
-
同步客户端并观察指标
-
什么是混沌工程?
混沌工程是在分布式系统上执行实验的实践,以使其对生产环境中可能发生的动荡条件具有弹性和更高的容错能力。 这个概念很容易 追溯到 Netflix,由 Casey Rosenthal 领导的团队 负责测试软件可用性和系统弹性。
混沌工程有五个高级原则来指导混沌工程师。 遵循以下原则以确保您正确地练习混沌工程:
-
设置一个描述目标系统稳态行为的假设
-
考虑现实世界的情况和事件
-
在生产环境中执行实验以建立对该环境的信心
-
自动化实验以连续运行,因为分布式系统很复杂
-
最小化爆炸半径以防止实验影响客户
如您所见,这些原