如何解决如果 API 调用之一在事务中调用的 API 顺序失败,如何处理错误并恢复事务状态
我有以下类型的 3rd 方 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 持久函数是否合适?我可以为此使用任何其他模式吗?
解决方法
正如您回答 API 1、2、3 返回得非常快,我假设它们可以并行运行,那么我将简单地使用 Task.WhenAll 并执行任何必要的回滚,如果它们中的任何一个返回异常(作为他们的手段)信号失败)。
可以使用持久函数,但在这种情况下听起来有点矫枉过正。 Durable Function 用于更长寿的场景
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。