如何为无服务器全球扩展Azure Functions?

5
我们正在尝试使用Azure Functions全球提供简单的网站,以实现无服务器的目标。 我们与美国、加拿大、德国和澳大利亚的人合作。
我知道Azure Functions会根据需要自动扩展。但是,我们如何为不同地区进行扩展呢?
编辑: 似乎Traffic Manager在使用Functions的消耗计划上行不通。
“使用无服务器架构,您只需支付代码运行时间的费用。”(https://azure.microsoft.com/en-us/overview/serverless-computing/) 如果更改为标准应用程序服务计划,则不再适用此规则。这也意味着我们必须自己处理扩展问题。
1个回答

5

功能应用程序可以在Azure Traffic Manager后运行。正如您所说,它们确实会自动扩展,但仅限于您创建它们的区域内。

要全球扩展它们,您需要:

  1. 在您关心的所有区域中创建相同的功能应用程序

  2. 将相同的内容发布到所有这些应用程序中

  3. 确保为给定功能设置相同的密钥

  4. 创建一个地理映射(或性能)流量管理器配置文件,并将其指向所有实例。编辑:您需要在流量管理器配置文件中使用外部端点。请参见此处Nir的答案

嗨,

您可以将http函数设置为外部Traffic Manager端点 (https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-endpoint-types)。 然而,您仍然需要将函数部署到所有数据中心, 为它们提供唯一的名称,并在每个实例上部署每个版本(可以从一个GitHub \ VSTS帐户完成,因此并不那么糟糕)。 因此,总结一下,它是可行的,但需要一些手动设置步骤。 我们将把这视为一个功能要求。

谢谢!

Nir(函数团队)


这不起作用。它只告诉我监视器状态 - 已停止,从未指向任何一个。 - Paul Shell
啊,你说得对,真抱歉。我在列表中看到它已成功添加到配置文件中,所以我认为它一定可以正常工作。但我想流量管理器只允许使用标准或高级 SKU 类型的应用程序,可能无法识别消耗 SKU。我需要在周一与 TM 团队的某个人核实并回复你。 - ahmelsayed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接