你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解混沌工程和复原能力

在开始使用 Azure Chaos Studio 之前,了解要应用的核心站点可靠性工程概念会非常有用。

什么是复原能力?

创建大规模分布式应用程序从未如此简单。 基础结构是在云中的,而编程语言的支持则多种多样。 此外,还要构建许多开放源代码和托管组件及服务。

遗憾的是,对于这些基础组件和依赖项或在其基础上构建的系统不存在任何可靠性保证。 基础结构可能会脱机,服务中断或停机可能会随时发生。 一个区域中的轻微中断可能会被放大,并在另一个区域中产生长期的副作用。

应用程序和服务必须计划并适应以下问题:

  • 服务中断。
  • 已知和未知依赖项的中断。
  • 突然的意外负载。
  • 整个系统的延迟。

应用程序和服务的设计必须能够处理故障,并能够针对中断进行强化。

能够妥善处理压力和问题的应用程序与服务均是可复原的。 单个组件的可靠性是不错,但复原能力是整个系统的属性。 必须在类似于生产环境的集成环境中使用生产中会遇到的条件和负载来验证端到端系统复原能力。

什么是混沌工程和故障注入?

  • 混沌工程:将应用程序和服务置于真实世界的压力和故障条件的做法。 其目标是构建和验证对于不可靠条件和缺少依赖项的复原能力。
  • 故障注入:向系统引入错误的操作。 可以针对系统组件使用不同的故障(例如网络延迟或失去存储访问权限)。 可以创建应用程序或服务必须能够处理或恢复的方案。

混沌试验是针对一个或多个订阅资源或依赖项单独、并行或按顺序应用故障。 目标是监视系统行为和健康状况,以便你可以针对出现的任何问题采取行动。

试验可以表示真实的情况,例如数据中心停电或 DNS 服务器网络延迟。 它还可以用于模拟发生的边缘条件。 例如,黑色星期五购物狂潮或某个流行乐队的音乐会门票开售。