我喜欢在 Azure 中交换插槽的想法,但它似乎无法正常工作。
我有一个将文件上传到服务器的客户端应用程序,每个应用程序都是一个单独的请求。当我尝试服务器交换时,它会挂在其中一个文件上传上,并且该请求将失败。同样,如果我刷新生产槽的网页,它将挂起。这只会发生 30 秒,然后一切都很好,但这足以中断请求。
我在某处读到粘性插槽设置会导致这种情况,所以我禁用了这些设置,但它仍然会发生。
有任何想法吗?这是一个 nodeJs 网络应用程序。
谢谢你,山姆
我喜欢在 Azure 中交换插槽的想法,但它似乎无法正常工作。
我有一个将文件上传到服务器的客户端应用程序,每个应用程序都是一个单独的请求。当我尝试服务器交换时,它会挂在其中一个文件上传上,并且该请求将失败。同样,如果我刷新生产槽的网页,它将挂起。这只会发生 30 秒,然后一切都很好,但这足以中断请求。
我在某处读到粘性插槽设置会导致这种情况,所以我禁用了这些设置,但它仍然会发生。
有任何想法吗?这是一个 nodeJs 网络应用程序。
谢谢你,山姆
由于可以将不同的插槽视为不同的应用程序。如果您的请求在 Web 应用程序交换时在生产槽上挂起,它应该会失败。我们可以找到原因:
最后,曾经是 Production 而现在是 Staging 的站点也需要应用一些设置,导致它重新启动。同样,这很好,因为它发生在临时站点中。
您可以尝试使用 try catch 获取异常,记录失败的文件,并在站点交换完成后再次尝试上传此文件。
请参考https://github.com/projectkudu/kudu/wiki/Understanding-site-swaps和http://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during -deployment-slots-swap/了解有关站点交换的更多信息。