Azure 前门配置更改

Azure Front Door Configuration Changes

我有一个使用 Azure Devops 部署的多层应用程序。它使用“蓝绿”部署方法。 (即并排放置 2 个相同的堆栈。)这很好用。 while lot 位于 Azure Front Door 前面,这样一个 URL(称为“Prod”)指向一个应用程序堆栈,另一个 URL(称为“ProdNew”)指向另一个应用程序堆栈。

appProd.contoso.com --> 后端产品

appProdNew.contoso.com --> 后端 ProdNew

测试人员测试 appProdNew.contoso.com,当一切正常时,有一个切换管道更改 Front Door 规则来执行此操作:

appProd.contoso.com --> 后端 ProdNew

(不用担心飞行中的事务,它们都是由一些数据库智能处理的。)

问题是即使在保存配置后 Front Door 仍继续指向 Back End Prod。如果放置几个小时(我不知道有多少,但它意味着过夜),最终,它确实使用了新的后端。

  1. 缓存和会话亲和性已禁用,但问题仍然存在。
  2. 停止后端 Prod 只会导致 Front Door 说后端已关闭。换句话说,它甚至不尝试使用新的后端。
  3. 我在这里 https://docs.microsoft.com/en-us/azure/frontdoor/front-door-faq 读到“由于 Front Door 在 VM/container 级别不工作,因此它无法进行连接排空”。好的,我明白了,但连接最终会超时,不是吗?
  4. 同一站点还说“大多数新的 Front Door 创建和更新大约需要 3 到 20 分钟才能部署到我们全球所有的边缘位置。对路由或后端池等的任何更新都是无缝的,并且会导致零停机时间(如果新配置正确)。”然而,甚至一个小时后,它仍然尝试使用相同的旧后端。
  5. 我们已尝试禁用和重新启用规则。但是当重新启用时,即使规则明确指向新后端,它仍会尝试使用旧后端。

在 Front Door 之前,我们使用 DNS CNAMES 并翻转它们。这种方法的问题在于,在翻转过程中,有些人会使用旧的,有些人会使用新的,这给 blue/green 部署带来了问题。使用 Front Door 的想法之一是获得对切换过程的更多控制。

问题:我们是不是以错误的方式解决了这个问题,或者我们是否可以向 Front Door 发出命令以强制它使用新的后端?

问题中描述的行为似乎不是预期的行为。根据第二天的额外测试,当 Front Door 使用新后端更新时,它开始使用它——即使没有缓存清除。因此,问题似乎是 Front Door 中的一个“小故障”,可能只是应用新配置的延迟。