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

了解混乱工程和复原能力

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

什么是复原能力?

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

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

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

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

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

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

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

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

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

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