软关闭云角色以使其忽略新的操作请求?
Soft shutdown of a cloud role so it ignores new action requests?
我想知道是否可以做一个 'soft shutdown' 或 'soft reboot' 的云服务。换句话说,服务器将拒绝新传入的 http 请求(通过 ASP.net 控制器操作传入),但会完成所有正在进行的现有请求。发生这种情况后,服务器将正常关闭或停止。
服务器版本
Azure OS 系列 3 发布
Windows 服务器 2012
.NET 4.5
iis-8.0
asp.net 4.0
使用场景
我需要确保响应当前正在进行的远程 HTTP 请求的任何操作在服务器开始关闭或由于暂存到生产交换而变得无响应之前完成。
我做了一些研究,但不知道这是否可行。
一个棘手的解决方法可能是使用 CloudConfigurationManager 变量来启动错误 503 代码应该在通过 http 的任何传入操作上返回,但是我不得不坐下来等待一段时间而没有任何办法验证该条件。那时我可以停止服务或执行交换。
有关如何在角色停止时耗尽 HTTP 请求的信息,请参阅 http://azure.microsoft.com/blog/2013/01/14/the-right-way-to-handle-azure-onstop-events/(附上下面的图片,我不知道为什么源使用图片而不是文本...):
另请注意,进行 VIP 交换不会影响角色实例本身或与实例的任何 TCP 连接,因此任何东西都不会因为您进行 VIP 交换而变得无响应。在 VIP 交换之后开始关闭暂存部署后,上面的代码将帮助在实际关闭之前耗尽请求。
我想知道是否可以做一个 'soft shutdown' 或 'soft reboot' 的云服务。换句话说,服务器将拒绝新传入的 http 请求(通过 ASP.net 控制器操作传入),但会完成所有正在进行的现有请求。发生这种情况后,服务器将正常关闭或停止。
服务器版本
Azure OS 系列 3 发布
Windows 服务器 2012
.NET 4.5
iis-8.0
asp.net 4.0
使用场景
我需要确保响应当前正在进行的远程 HTTP 请求的任何操作在服务器开始关闭或由于暂存到生产交换而变得无响应之前完成。
我做了一些研究,但不知道这是否可行。
一个棘手的解决方法可能是使用 CloudConfigurationManager 变量来启动错误 503 代码应该在通过 http 的任何传入操作上返回,但是我不得不坐下来等待一段时间而没有任何办法验证该条件。那时我可以停止服务或执行交换。
有关如何在角色停止时耗尽 HTTP 请求的信息,请参阅 http://azure.microsoft.com/blog/2013/01/14/the-right-way-to-handle-azure-onstop-events/(附上下面的图片,我不知道为什么源使用图片而不是文本...):
另请注意,进行 VIP 交换不会影响角色实例本身或与实例的任何 TCP 连接,因此任何东西都不会因为您进行 VIP 交换而变得无响应。在 VIP 交换之后开始关闭暂存部署后,上面的代码将帮助在实际关闭之前耗尽请求。