在 Microsoft Azure 上规划灾难恢复策略 – 设计异地复制策略

作者 : 慕源网 本文共1841个字,预计阅读时间需要5分钟 发布时间: 2021-11-2 共200人阅读

介绍

之前我们讨论了在 Azure 中使用数据备份。在本文中,我们将讨论 Azure PaaS 服务如何处理灾难恢复和故障转移。我们将研究如何跨多个 Azure 区域部署现有的 Azure Web 应用程序和 Azure SQL 数据库。

Azure 应用程序的故障模式分析 (FMA)

故障模式分析 (FMA) 是一种通过识别潜在故障位置将弹性融入系统的方法。考虑以下场景:我们的解决方案包含一个 Web 应用程序,其中包含一个用于保存用户数据的 Azure SQL 数据库。JSON 文档将存储在 Azure Cosmo DB 以及 Azure 存储中。暂时在 blob 存储上维护这些组件中的每一个的图像。应使用故障模式分析来尝试识别这些组件中的潜在故障点。

进行 FMA 的一般流程

必须识别系统的所有组件。因此,我们必须知道我们有一个 Web 应用程序。还可以使用 Web API。Azure 包含一个 SQL 数据库,Cosmos DB 是一个数据库管理系统。我们必须确定每个组件的潜在故障并确定它们是否可以补救。例如,Web 应用程序可能变得无响应。还应根据其总风险对每种故障模式进行评级。因此,我们必须回答会发生什么,后果会是什么的问题?当我们架构的一个组件损坏时。我们应该确定程序在每种故障模式下的行为和恢复方式。

应用服务关闭

当谈到向上的主题时。关闭,服务开启,因为应用空闲,被卸载;但是,up 可能会被粉碎,导致突然关闭。在这种情况下,我们可以询问什么是恢复计划和诊断。

恢复和诊断

如果应用程序在空闲时被清空,则应用程序会根据以下请求立即重新启动。但是,如果应用程序崩溃或应用程序服务虚拟机不可用,我们可以启用永远在线设置,以防止应用程序在空闲时被卸载。该应用程序由应用程序服务自动重新启动。为了确保我们可以跟踪所有问题并立即处理它们,我们应该在 Azure Web 应用服务中激活 Web 应用的诊断日志记录。

在 Microsoft Azure 上规划灾难恢复策略 - 设计异地复制策略

SQL 数据库连接可能有问题。对于查询,我们应该从辅助副本读取,在这种情况下,必须为活动的异地复制配置数据库。在源码中,我们还应该捕获两种异常:无效操作异常和SQL异常。

在 Microsoft Azure 上规划灾难恢复策略 - 设计异地复制策略

可能有问题。已写入存储帐户以从瞬时故障中恢复,我们应该重试该操作。当我们在存储帐户中尝试策略时,SDK 会自动处理它。如果 N 次重试尝试失败,我们应该执行一个优雅的回退。在这种情况下,我们可以将数据保存在本地缓存中。

当涉及到 Azure Cosmo DB 数据读写问题时,我们还需要使用存储指标来找出问题所在。应该捕获这两种形式的异常。

  •  HTTP 请求异常
  •  文档客户端异常

我们还应该尝试跨两个或多个区域复制 cosmos DB 数据库。他们的 SDK 会自动重试失败的请求。我们还应该检查 HTTP 状态 当 Cosmos DB 给客户端带来麻烦时,它会在 HTTP 上返回 29 个错误。如果可能,将文档精确到备份队列并稍后处理该队列。另外,查看客户端的所有错误

多个 Azure 区域中的 Web 应用程序以实现高可用性

在 Microsoft Azure 上规划灾难恢复策略 - 设计异地复制策略

我们将在多个 Azure 区域部署 Web 应用程序以实现高可用性,我们将讨论在多个其他 Azure 区域部署 Web 应用程序以实现高可用性。此图显示已部署在两个独立区域中的 Web 应用程序: Azure Front Door服务在这些区域的前面复制了 Azure SQL 数据库、Cosmos DB 和存储帐户。它可以平衡来自最终用户的左侧流量。当一个区域不可用时, Azure Front Door可以将流量重定向到另一个区域。

架构

在常规操作期间,应用程序分发到每个区域。问题的根源在于交通。如果主要区域变得不可用,流量将被引导到次要区域。有两种类型的区域:主要区域和次要区域。Azure Front Door服务用于负载平衡流量,并且 Cosmos DB 等数据存储启用了异地复制。如果主要区域受到影响,可以利用 Azure Front Door故障转移到次要区域。

架构建议

我们有这个设置将所有请求发送到主要区域,除非该区域的末端变得不可访问,这就是为什么建议使用区域配对来优先发送到同一区域对中的区域。对于 SQL 数据库,他使用了主动异地复制。如果主数据库出现故障或需要脱机,则故障转移到备份数据库,Azure Cosmos DB 使用异地复制。Cosmos DB 允许跨区域异地复制。我们从多个位置读取访问异地冗余 Azure 存储。

我们有地理冗余存储供我们使用。次要区域用于复制数据。我们可以确信,由于所有这些深度,我们的系统将更具弹性,并且处理故障转移会容易得多。

结论

我们谈到了 Azure 应用程序模式分析执行失败。为了实现高可用性,Web 应用程序部署在不同的 Azure 区域。


慕源网 » 在 Microsoft Azure 上规划灾难恢复策略 – 设计异地复制策略

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录