高级(弹性高级)和专用(应用服务)计划提供对 Azure Functions 的可用性区域支持。 区域冗余的函数应用计划将在可用性区域之间自动平衡其实例,以实现更高的可用性。 本文介绍如何迁移到支持可用性区域的公共多租户高级计划。 若要迁移到专用计划的区域冗余,请参阅此处。
由于无法将预先存在的 Premium 计划转换为使用可用性区域,因此必须在新的 Premium 计划应用中创建并排部署来迁移应用。 停机时间取决于您在从旧应用迁移到启用新的可用性区域的功能应用程序期间选择如何重定向流量的方式。
考虑使用 应用程序网关或 自定义域的基于 HTTP 的函数。 在这种情况下,停机时间取决于使用新应用信息更新这些相应服务所需的时间。
还可以使用 Azure 流量管理器等服务同时将流量路由到多个应用。 在此方案中,只有在完全部署并测试所有内容后,才能完全切换到启用新的可用性区域的应用。
对于基于消息的函数,应 编写防御函数 ,以确保在迁移期间不会丢失消息。
若要使现有函数应用能够使用可用性区域,必须将项目文件重新部署到已启用可用性区域的高级计划中托管的新函数应用。
使用以下步骤启用可用性区域:
如果你已经在受支持的区域中使用高级计划进行托管,则可以重复使用现有资源组并跳到下一步。 否则,请在 受支持的区域中创建新的资源组。
在其中一个受支持的区域和资源组中创建高级计划。 请确保新的高级计划启用了区域冗余。
在新高级计划中创建函数应用,并使用所需的 部署方法将项目代码部署到此新应用。
在新应用启动并成功运行并启用可用性区域后,可以选择禁用或删除不可使用的区域应用。