【问题标题】:Soft shutdown of a cloud role so it ignores new action requests?软关闭云角色以忽略新的操作请求?
【发布时间】:2015-03-18 18:42:40
【问题描述】:

我想知道是否可以对云服务进行“软关机”或“软重启”。换句话说,服务器将拒绝新传入的 http 请求(通过 ASP.net 控制器操作传入),但会完成所有正在进行的现有请求。发生这种情况后,服务器将正常关闭或停止。

服务器版本

Azure OS 系列 3 版本
视窗服务器 2012
.NET 4.5
iis-8.0
asp.net 4.0

使用场景

我需要确保响应当前正在进行的远程 http 请求的任何操作在服务器开始关闭过程之前完成,或者由于暂存到生产交换而变得无响应。

我做了一些研究,但不知道这是否可能。

一个 hacky 解决方法可能是使用 CloudConfigurationManager 变量来启动应该在通过 http 的任何传入操作上返回错误 503 代码,但是我不得不坐下来等待一段时间,而没有任何方法来验证健康)状况。那时我可以停止服务或执行交换。

【问题讨论】:

    标签: c# asp.net iis azure


    【解决方案1】:

    请参阅http://azure.microsoft.com/blog/2013/01/14/the-right-way-to-handle-azure-onstop-events/,了解如何在角色停止时排出 HTTP 请求(附上下面的图片,我不知道为什么源使用图片而不是文本...):

    还要注意,进行 VIP 交换不会影响角色实例本身或与实例的任何 TCP 连接,因此不会因为您进行 VIP 交换而无响应。一旦您在 VIP 交换后开始关闭暂存部署,即上面的代码将有助于在实际关闭之前耗尽请求。

    【讨论】:

    • 谢谢,这看起来正是我所需要的。我会让你知道结果如何。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2019-07-12
    相关资源
    最近更新 更多