0

我有以下类型的第 3 方 API 要在 c# 代码中按顺序调用。

try
{
    transaction:
    {
        call API 1;
        call API 2
        call API 3
    }

}
Catch
{
    transaction rollback:
    rollback API 4;
    rollback API 5;
}

我应该如何在 Azure 函数 http 触发器中处理这个问题?SAGA 或 2 阶段提交是否适合这里?Azure 持久功能是否合适?我可以为此使用任何其他模式吗?

4

1 回答 1

0

正如您回答的那样,API 1、2、3 返回非常快,我假设它们可以并行运行,那么我将简单地使用 Task.WhenAll 并在它们中的任何一个返回异常时执行任何必要的回滚(作为它们发出失败信号的手段)。

可以使用持久功能,但在这种情况下听起来有点矫枉过正。Durable Function 用于更长寿的场景

于 2021-04-02T15:11:18.863 回答