Azure Web 应用的 100% 可用性

Azure Web 应用的 100% 可用性

部署在 Azure App Service 中的 Web 应用程序是否可以实现 100% 可用性?我们在 Azure App Service 中部署了一个 ASP.NET MVC Web 应用程序。我们已将此应用程序部署到 Azure App Services 的 3 个区域中,定价层为 Premium - P3。每个区域都启用了自动扩展功能,可根据性能 (CPU%) 将应用服务计划从 2 个实例扩展到 10 个实例。流量管理器用于在三个区域之间路由流量(基于性能的路由)。流量管理器端点监控具有以下配置:

  • 探测间隔:10秒
  • 可容忍的故障次数:0(值为 0 表示单个监控故障可能导致该端点被标记为不健康。)
  • 探测超时:5 秒

但是,当我们通过停止高负载下某个地区的应用服务来测试系统时(我们停止了美国中部地区,因为预计大部分流量都会到达此应用服务),我们发现在流量重定向到其他地区之前,一些请求/事务失败/出错。这不是 100% 的可用性。我们如何确保系统 100% 的可用性?

请注意:我不是在寻找保证 100% 可用性的 Azure SLA 的详细信息,而且我知道没有这样的事情。我正在寻找一种设计模式或对我们当前设计的修改,我在问题中已经解释过,这将帮助我们实现它。

答案1

不存在 100% 可用性,因为您始终依赖流量管理器/负载均衡器检测问题并将流量重定向到健康端点的功能。无论您如何构建它,在此过程中最终用户总会有短暂的停机时间。特别是对于 Azure 流量管理器,检测故障所需的时间和切换 DNS 设置所需的时间。

您当前的设置似乎已经足够激进了。我不知道有什么方法可以改进它,而且很可能不需要。

相关内容