繁体   English   中英

具有 Azure Function App 的一个 App Service Plan 实例是否一次只处理一条消息 session?

[英]Does one App Service Plan instance with an Azure Function App process only one message session at a time?

我正在阅读这篇关于一个 Azure Function 应用程序实例一次只会处理一条消息 session 的文章。 因此,如果我们查看带有 Azure function 应用程序的应用程序服务计划,它仍然代表一个实例。 如果是这样的话,如果我们有三个不同的消息会话,我们需要扩展三个应用程序服务计划来创建 azure function 应用程序的三个实例来处理这些消息会话。

在此处输入图像描述

但我的假设可能不正确。 当我与我的同事交谈时,我们将应用服务计划的自动缩放设置为仅手动扩展一个实例。 这很奇怪,因为我们看到不同的消息 session 数据是根据同步时间戳与那个 App Service Plan 实例并行处理的。 这怎么可能? 也许应用服务计划的单个实例可以拥有其应用程序的多个实例?

在此处输入图像描述

我从这条消息 session 文档和 dev.to 文章中得到了很多阅读

https://learn.microsoft.com/en-us/azure/service-bus-messaging/message-sessions

https://dev.to/azure/ordered-queue-processing-in-azure-functions-4h6c

在此处输入图像描述

单个计算实例(在您的情况下为函数)可以处理多个 session。默认情况下,会话的并发性(可以同时处理的会话数)设置为 8。顺序保留在每个session中,但是,因此每个 session 的消息都以正确的顺序传递。 您的代码必须处理这样一个事实,即为不同的会话调用相同的代码并相应地处理它。 如果代码不能做到这一点,它必须连续处理会话,通过更改host.json中的默认值将并发会话数减少到 1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM