gpt4 book ai didi

Azure ACI 未运行,但仍提供 Azure 函数页面

转载 作者:行者123 更新时间:2023-12-03 07:09:14 24 4
gpt4 key购买 nike

我使用 Azure 门户中的选项“mcr.microsoft.com/azuredocs/aci-helloworld:latest (linux)”部署了新的 ACI。部署并运行后,访问下面的容器加载页面的 FQDN。有道理。

enter image description here

但是,如果我停止 ACI 实例并等待几分钟,我会在接下来的 15 分钟内看到以下页面。除了我说的 Functions 3.0。 15 分钟后,我收到一条有意义的 DNS 探测错误消息。如果我的 ACI 已停止,为什么会有函数应用响应请求?

enter image description here

最佳答案

我只能推测,但这对您来说可能仍然是有值(value)的信息。

15 分钟差距

15 分钟的间隔听起来很像 DNS 缓存。当我在西欧区域部署一个主机名为“my-important-container”和公共(public) IP 的容器实例时,我会获得一个公开可用的 DNS 记录,如下所示:my-important-container.westeurope.azurecontainer.io

在这种情况下,DNS 记录创建由 Azure 平台为您完成。 Microsoft 工程师可能已将 15 分钟缓存设置为默认值。

手动创建 DNS 记录时,您可以指定在 DNS 服务器的全局网络中缓存该记录的秒数,这样每次有人访问时,他们就不必使用权威服务器来解析该记录使用该名称访问 Web 服务。如果 15 分钟时间窗口内有 1000 个网站请求(来自同一区域,使用同一非权威服务器),则 15 分钟缓存只能服务 1 个请求,而不是 1000 个请求。

如果您想尝试 DNS 缓存,使用 Azure 非常简单。例如,使用 Azure DNS 区域,或者如果您不想购买域,则可以在私有(private) VNET 上使用 Azure 私有(private) DNS 区域 并查看缓存的工作原理。

“函数应用已启动并运行”现象

这意味着 Azure 将容器实例与 Azure Functions 一起托管在通用无服务器平台上。当时的 IP 地址已分配给无服务器实例,但当然您当时已删除/停止了容器,因此底层正在使用默认占位符消息进行响应。当时这是一种错误的响应,因为您实际上并未使用 Functions,并且您的无服务器工作负载当时实际上并未“启动并运行”。

Microsoft 可以通过在创建无服务器实例时注入(inject)有关上下文的信息来防止此问题。这样,实例就会知道当前它是否正在为容器实例或函数提供服务,并且如果配置正确,则能够使用信息更丰富的占位符消息进行响应。

关于Azure ACI 未运行,但仍提供 Azure 函数页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70778602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com