是否有可能实现部署在Azure应用服务中的Web应用程序的100%可用性? 我们有一个ASP.NET MVC Web应用程序部署到Azure应用程序服务。 我们已经将这个应用程序部署到Azure应用程序服务的三个区域,并且定价层级为Premium-P3。 每个区域都启用Auto Scaling,以根据性能(CPU%)将App Service计划从2个扩展到10个实例。 stream量pipe理器用于在三个区域之间路由stream量(基于性能的路由)。stream量pipe理器端点监视具有以下configuration:
然而,当我们在高负载的情况下停止一个地区的应用程序服务(我们因为大部分stream量预计将冲击该应用程序服务而停止在中美国)时testing系统时,我们观察到一些请求/事务失败/错误在交通转移到其他地区之前。 这不是100%的可用性。 我们如何确保系统的100%可用性?
请注意:我不在寻找保证100%可用性的Azure SLA的细节,我知道没有这样的事情。 我正在寻找一个devise模式或对我们现在的devise进行修改,我已经在我的问题中解释了这个devise模式,这将帮助我们实现它。
没有100%可用性这样的事情,因为您总是依靠stream量pipe理器/负载均衡器检测问题并将stream量redirect到健康端点的能力。 在这个过程中,无论您如何构build,terminal用户总是会有短暂的停机时间。 特别是Azurestream量pipe理器,检测故障所需的时间以及切换DNS设置所需的时间。
您目前的设置看起来足够积极。 我不知道有什么方法可以改善它,而且很可能不需要。