我在Azure App Service上看到了一些有趣的行为,我希望有人会对此发表评论。
复制步骤(所有Azure步骤都可以在门户中完成):
mysite
mysite-staging
mysite
//ONE
mysite-staging
//TWO
mysite.azurewebsites.net/scripts/test.js
并在交换操作期间监控返回的内容(通过在浏览器中不断进行强制刷新)我期望看到的内容:
//ONE
到//TWO
我实际看到的内容:
//ONE
和//TWO
之间“闪烁”/“反弹”。交换操作完成后,行为稳定并始终返回//TWO
观察到的行为表明,没有一个时间点可以说所有流量都可用于新版本。
我担心的原因如下:
mycdn.com/scripts/test.js?v2
({{ 1}}是一个新的查询字符串)?v2
请求脚本。这一次,“弹跳”导致响应成为脚本的v1版本。 我的问题:在“按设计”的交换操作中,这种“弹跳”行为是什么?如果是这样,解决上述病理情况的推荐方法是什么?
答案 0 :(得分:3)
您所描述的行为目前正在设计中。当我们执行交换时,我们更新主机名和数据库中站点之间的映射,但是我们的前端实例会缓存这些映射并每隔30秒刷新一次。因此,“弹跳”时段可能持续长达30秒。
我目前没有关于如何解决此案的好建议,但会研究解决此问题的可能方法。