azure - 关于调用一个实体的多个编排功能的问题

标签 azure azure-durable-functions

我想知道是否有人可以帮助我理解有关编排功能和实体的一些行为。

假设我有一个 HttpTriggered 函数,它启动一个调用(不发出信号)持久实体的编排,并运行一个很长的过程(30 秒)来更新某些字符串成员。我还有另一个 HttpTriggered 函数,它启动编排来调用同一实体并获取该字符串。

我想知道的是,如果我触发第一个函数“A”,然后立即触发第二个函数“B”。当“B”调用实体获取字符串时,它是否等待“A”完成对实体的调用?或者“B”会从中获得“脏”值吗?

猜猜我想弄清楚的是,对实体的所有调用是否都必须与控制队列同步。

最佳答案

实体按照 FIFO 顺序一次执行一个操作,因此如果您有两个编排(A 和 B)同时调用某个操作,则第二个操作(示例中的 B)将被迫等待 A 的操作操作完成可能需要长达 30 秒的时间。因此,调用实体时不可能出现脏读。这种同步发生在 Durable Functions 扩展本身的内存中。

这里的文档中提到了这一点: https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-entities#general-concepts

To prevent conflicts, all operations on a single entity are guaranteed to execute serially, that is, one after another.

这适用于实体调用信号

关于azure - 关于调用一个实体的多个编排功能的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68747283/

相关文章:

python - Azure Function ImportError 在云上运行时注册函数

c# - 如何确定并行运行的持久函数仍然很慢的原因

azure - 使用 Application Insights 无法看到自定义日志

azure - 打印 Bicep 中模块部署状态的输出

asp.net-mvc - 在 Azure Web 服务发布期间预编译

azure - 模板部署后输出 Azure SQL 数据库连接字符串

c# - 在 Azure Functions 中使用 DurableOrchestration 时,无法将参数 'orchestrationContext' 绑定(bind)到类型 DurableOrchestrationContext

python - azure api 需要更好的方法来处理大量数据

Azure 辅助角色每天在故障存储桶事件后停止

c# - Azure持久函数 "terminatePostUri"在触发时给出404