Azure交换插槽,当前处理请求是否已完成?

时间:2017-06-02 10:03:07

标签: azure azure-deployment-slots

我对Azure中的交换插槽存有疑问。阅读https://github.com/projectkudu/kudu/wiki/Understanding-site-swaps,很明显没有新请求被删除。但是当前的处理请求会发生什么?

想象一下客户调用API方法需要30秒才能完成的以下场景,在此请求的中间我创建了一个交换槽。交换时隙发生时处理的请求会发生什么?

读取上一个链接,表示新的staged slot重启。但它是否等待完成处理请求?或者它是在没有等待完成当前请求的情况下重新启动的?

由于

2 个答案:

答案 0 :(得分:1)

  

想象一下客户调用API方法的以下场景   需要30秒才能完成,在这个请求的中间我做了一个   交换槽。正在处理的请求会发生什么   交换槽出现了吗?

此请求将转至生产槽,因此它将继续并且请求将在没有任何中断的情况下完成。

  

读取上一个链接,表示新的staged slot重启。但   它是否等待完成处理请求?或者它重新启动   没有等待完成当前的请求?

暂存槽重启不会中断任何事情。因为用户正在使用生产槽并且请求也将推送插槽。当暂存插槽准备就绪并且预热时,只需交换插槽即可。因此,在这种情况下,某些请求仍有可能在之前的生产槽(现在位于暂存槽中)中处于进行中状态,并且这些请求将照常完成。

答案 1 :(得分:0)

我认为在生产时段启动的运行中请求可以执行到最后都是不正确的。从计费角度来看,对于MS来说也没有意义。一旦生产插槽成为源,则根据MS文档,它会重新启动,因此对机载请求的超时与正常重启相同。根据我的观察,这是发送重启信号后的20-30秒。