gpt4 book ai didi

azure - 了解 Azure 编排功能的并行化

转载 作者:行者123 更新时间:2023-12-02 23:35:33 27 4
gpt4 key购买 nike

我很难理解 Azure 持久编排功能并行化(和扩展)在幕后如何工作。我指的是this官方文件。其中指出:

Because the orchestrator and entity function instances are stateful singletons, it's important that each orchestration or entity is only processed by one worker at a time.

在并行运行多个编排函数时,“编排函数和实体函数实例是有状态单例”到底意味着什么?

假设我有一个客户端函数,它监听 HTTP 触发器,然后启动一个新的编排函数实例。如果我触发此客户端函数两次,是否会有两个具有两个单独实例 ID 的编排函数实例并行运行,还是按顺序运行?每个实例都有自己的控制队列吗?

或者通过this例如,CallSubOrchestratorAsync 是否始终在同一编排实例上执行?如果是这样,那么这里的好处是什么,因为它不会真正并行运行多个实例?或者这里的“并行化”只是指根据不同的输入值重新启动实例并重新应用历史表的过程?

最佳答案

语句“因为编排器和实体函数实例是有状态单例”实际上并不有效,因为如果它是单例有状态,则无法运行编排器函数的多个实例。理想情况下,该语句应该只是说“因为协调器和实体函数实例是有状态的”。

concurrency throttles link清楚地确认了 Orchestrator 函数以并发方式运行,并且可以在 host.json 中限制并发性。此外,并发和有状态单例是相互排斥的。所以我认为这个说法需要更正。

此外,每个编排实例可能没有自己的控制队列,但每个编排实例或实体都分配给一个控制队列,并确保只有一个工作进程处理该队列,这样就不会出现任何重复。

综上所述,多个编排可以并行运行,但在每个编排内,只有事件函数并行运行,整个编排工作流程串行执行。希望对您有所帮助。

关于azure - 了解 Azure 编排功能的并行化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73151129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com