【问题标题】:How to handling activity worker failure in Cadence如何在 Cadence 中处理活动工作者故障
【发布时间】:2019-11-22 01:51:19
【问题描述】:

我正在探索 Cadence,并有一个关于故障恢复的问题。我了解工作流是容错的(保持工作流历史记录),以防工作流工作者失败。我无法为活动工作者找到相同的保证。示例:假设一个活动对服务 A 进行 RPC 调用,这会改变一些远程对象的状态;现在,让我们假设调用成功,但在通知 Cadence 服务之前,activity worker 丢失了。在这种情况下,Cadence 是否会在新的工作人员身上再次安排活动?

我知道如果服务 A 是幂等的,上述可能不是问题。如果服务 A 不是幂等的,在 Cadence 中处理上述场景的建议是什么。

【问题讨论】:

    标签: cadence-workflow


    【解决方案1】:

    默认情况下,Cadence 不会重试活动。因此,在活动工作者失败的情况下,工作流将出现超时错误,并且可以根据其业务逻辑进行相应的处理。对于非幂等活动,通常通过运行补偿活动来完成。

    Cadence 还支持幂等活动的自动重试。它是通过在调用活动时提供重试策略来完成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      相关资源
      最近更新 更多