Azure Web应用程序的100%可用性

是否有可能实现部署在Azure应用服务中的Web应用程序的100%可用性? 我们有一个ASP.NET MVC Web应用程序部署到Azure应用程序服务。 我们已经将这个应用程序部署到Azure应用程序服务的三个区域,并且定价层级为Premium-P3。 每个区域都启用Auto Scaling,以根据性能(CPU%)将App Service计划从2个扩展到10个实例。 stream量pipe理器用于在三个区域之间路由stream量(基于性能的路由)。stream量pipe理器端点监视具有以下configuration:

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

然而,当我们在高负载的情况下停止一个地区的应用程序服务(我们因为大部分stream量预计将冲击该应用程序服务而停止在中美国)时testing系统时,我们观察到一些请求/事务失败/错误在交通转移到其他地区之前。 这不是100%的可用性。 我们如何确保系统的100%可用性?

请注意:我不在寻找保证100%可用性的Azure SLA的细节,我知道没有这样的事情。 我正在寻找一个devise模式或对我们现在的devise进行修改,我已经在我的问题中解释了这个devise模式,这将帮助我们实现它。

没有100%可用性这样的事情,因为您总是依靠stream量pipe理器/负载均衡器检测问题并将stream量redirect到健康端点的能力。 在这个过程中,无论您如何构build,terminal用户总是会有短暂的停机时间。 特别是Azurestream量pipe理器,检测故障所需的时间以及切换DNS设置所需的时间。

您目前的设置看起来足够积极。 我不知道有什么方法可以改善它,而且很可能不需要。