Azure Functions 主机实例与 VM 实例
Posted
技术标签:
【中文标题】Azure Functions 主机实例与 VM 实例【英文标题】:Azure Functions Host Instance vs VM Instance 【发布时间】:2020-07-04 14:31:03 【问题描述】:在专用应用服务计划上运行 Azure Functions 时,主机实例和 VM 实例之间是否存在差异?因为根据this,应用服务计划使用现有的VM 实例。但在我的 Function App 的 Scale Out 计划中,我可以看到增加实例数的选项。根据this,它表示扩展将添加新的虚拟机实例。但根据this,主机实例是完整的Function App 实例。
那么,是否会增加实例数量,在应用服务计划下启动新的 VM 实例?如果不是,那么是否会在可能的情况下在同一个 VM 实例上启动一个新的函数应用实例?对于不同的计划,扩展是否意味着不同?
【问题讨论】:
【参考方案1】:您可以将它们视为同一事物。
将增加实例数,在 应用服务计划?
是的,它将在应用服务计划下添加一个或多个新 VM 实例。对于 azure 函数中的 Dedicated (App Service) plan,我们总是需要手动扩展/缩小,因为在 azure 函数中它不会动态添加/删除新的计算资源。但是对于其他 2 个计划,它们会动态添加/删除计算资源。
如果不是,那么是否会启动一个新的函数应用实例 如果可能,相同的 VM 实例?
不,新实例将添加到新添加的 VM 实例中。
缩放对于不同的计划意味着不同吗?
这些计划的唯一区别是这样的:
对于Consumption plan或Premium plan,scales out/in
会根据传入事件的数量自动进行,不支持scale up
功能。
对于Dedicated (App Service) plan,它同时支持scale out/in
和scale up
,但需要手动操作。
希望对您有所帮助。如果您还有其他问题,请告诉我。
【讨论】:
但是专用应用服务计划也有一个自定义的自动扩展功能,可以根据一些指定的指标进行扩展。 如果多个函数应用使用相同的应用服务计划,这是否意味着实际应用实例使用相同的 VM 资源? @AsifulNobel,对于第一个问题,我认为“汽车”这个词让你感到困惑。使用其他 2 个计划时,您无需手动进行任何配置即可横向扩展/横向扩展;但是对于专用应用服务计划,您需要手动配置自动缩放功能,对吗? 对于第二个,是的,它们将共享相同的 VM 资源。 是的,我没有使用其他两个计划。所以,我没有意识到这一点。谢谢。 @IvanYang 高级计划中没有扩展功能吗?我可以在 Portal 中看到升级 EP1 => EP2/EP3 的选项。以上是关于Azure Functions 主机实例与 VM 实例的主要内容,如果未能解决你的问题,请参考以下文章
VNET 上的 Azure Functions 无法与本地资源通信
Azure Functions System.Net.Primitives:值不能为空。 (参数“主机”)
用于PostgresQL的本机Azure数据库与Azure VM中的PostgresQL docker容器