Azure 函数静态隔离

Azure functions static isolation

我找不到很多关于在应用服务计划中隔离 Azure 功能的文档。

如果您在 azure 函数调用之间共享一个静态变量,例如 HttpClient,我假设通读了可伸缩性建议,它 可以 运行 在相同的进程或单独的进程或单独的服务器...这很好,使用 Lazy<T> 可以帮助解决线程问题。

但是单独的 Azure Functions 可以共享一个工作进程吗?即我应该隔离静态变量以确保函数的隔离吗?我发现使用带有函数键的 ConcurrentDictionary 是帮助解决此问题的好方法,但我还没有找到任何讨论隔离的文档。

您可以通过拥有一个或多个 Function Apps 来管理它:

  • 同一功能应用程序的不同功能将 运行 在同一进程中,并将在同一主机上与同一应用程序的其他功能 运行 重用任何静态.

  • 不同Function App的功能相互隔离

要在视觉上看到,您可以去 Kudu(每个应用程序)。在“环境”选项卡上,您会看到一个机器名称,因此您可以检查两个应用程序是否在同一台机器上 运行。然后,在 Process Explorer 选项卡上,您将看到分配给特定 Function App 的 w3wp.exe 进程。