azure - 交换 Azure webapp 部署槽时,并非所有流量都进入生产
问题描述
我已经设置了一个名为“staging”的部署槽,并配置了持续部署以在每次将代码推送到 master 分支时部署到 staging 槽。
当我将 staging 与生产交换时 - 使用门户 UI 或使用以下 CLI 命令:
az webapp deployment slot swap --name <...> --resource-group <...> --slot staging
我的理解是:
- 最初,旧代码在生产中,新代码在暂存槽中。
- 最初,100% 的流量应该流向生产 webapp。
- 逐渐地,流量从生产路由到登台。
- 最终,所有流量都将流向登台 webapp。
- 然后有一个 DNS 重命名,这样生产应用程序现在可以获得 100% 的流量,并且具有新代码;staging 现在有旧代码,理论上只有 0% 的流量。
但是,在进行交换几个小时后,我仍然看到大约 15% 的流量进入暂存状态。我已经在 4 个不同的 webapps 上验证了这一点。
感谢任何关于为什么会出现这种情况的建议,如果我做错了什么?
解决方案
推荐阅读
- flutter - 如何在 Dart 中找到两个时间戳对象之间的差异?
- typeorm - 如何在实体中创建自我关系?
- python - 如何将json转换为python中特定格式的数据框
- swift - 即使我给一个 url 变量一个值,我也得到一个 nil 值,所以我想知道我做错了什么?
- nosuchmethoderror - Datomic v1.0.6202 在 datomic.api/create-database 上抛出 NoSuchMethodError 用于 :dev 存储 (io.netty.channel.SingleThreadEventLoop)
- aem - AEM 检查页面的语言版本
- function - 未使用 Terraform 创建的 Azure 函数“主机密钥”
- java - 由于 kafka 消费者代码,未创建 SSLContext 对象以调用第三方 api
- arrayfire - ArrayFire 3.7.2 中缺少“afcl”命名空间
- spring-boot - 如何启用在自定义启动器/库中设置的执行器端点?