cadence如何处理各种故障情况下的故障?
How does cadence handle fault in various failure condition?
Cadence 是一个容错状态代码平台。 cadence如何处理各种故障情况下的故障?
分布式系统中存在各种各样的故障,Cadence为它们提供了多种选择。
这是我自己的清单。它可能不完整。但如果我能想到的话,我会尝试添加更多。
activity
- Activity 失败并重试。参见 https://cadenceworkflow.io/docs/concepts/activities/#timeouts
- 还要注意 long 运行 activity 可以通过“心跳”从检查点恢复
工作流程
通过事件溯源模型的设计,工作流可以从工作人员崩溃时剩下的任何一点恢复。参见 https://cadenceworkflow.io/docs/concepts/workflows/#state-recovery-and-determinism
工作流也可以有像activity这样的重试策略来自动重试失败https://cadenceworkflow.io/docs/concepts/workflows/#workflow-retries
在某些情况下,失败是由导致错误状态的错误代码更改引起的。 Cadence 提供了“重置”工具来将工作流重置到任何时间点。
参见 https://cadenceworkflow.io/docs/cli/#reset-and-restart
除了重置之外,Cadence 还允许您通过部署进行重置。这对于重置大量工作流(例如数百万)很有用。
Cadence 服务器集群
activity 和工作流工作者都是无状态的。
Cadence 服务器是一种高度可用且可扩展的服务,提供持久性。
- 持久性来自底层设计和持久性存储(通过 Cassandra、MySQL 或 Postgres)
- 在单个集群设置中,Cadence 服务是 运行 个不同的独立分片。整个集群由不同的主机组成。任何失败的主机都可以被另一个替换。
- Cadence 提供跨数据中心复制以提供更高的可用性https://cadenceworkflow.io/docs/concepts/cross-dc-replication/#global-domains-architecture
Cadence 是一个容错状态代码平台。 cadence如何处理各种故障情况下的故障?
分布式系统中存在各种各样的故障,Cadence为它们提供了多种选择。
这是我自己的清单。它可能不完整。但如果我能想到的话,我会尝试添加更多。
activity
- Activity 失败并重试。参见 https://cadenceworkflow.io/docs/concepts/activities/#timeouts
- 还要注意 long 运行 activity 可以通过“心跳”从检查点恢复
工作流程
通过事件溯源模型的设计,工作流可以从工作人员崩溃时剩下的任何一点恢复。参见 https://cadenceworkflow.io/docs/concepts/workflows/#state-recovery-and-determinism
工作流也可以有像activity这样的重试策略来自动重试失败https://cadenceworkflow.io/docs/concepts/workflows/#workflow-retries
在某些情况下,失败是由导致错误状态的错误代码更改引起的。 Cadence 提供了“重置”工具来将工作流重置到任何时间点。 参见 https://cadenceworkflow.io/docs/cli/#reset-and-restart
除了重置之外,Cadence 还允许您通过部署进行重置。这对于重置大量工作流(例如数百万)很有用。
Cadence 服务器集群
activity 和工作流工作者都是无状态的。
Cadence 服务器是一种高度可用且可扩展的服务,提供持久性。
- 持久性来自底层设计和持久性存储(通过 Cassandra、MySQL 或 Postgres)
- 在单个集群设置中,Cadence 服务是 运行 个不同的独立分片。整个集群由不同的主机组成。任何失败的主机都可以被另一个替换。
- Cadence 提供跨数据中心复制以提供更高的可用性https://cadenceworkflow.io/docs/concepts/cross-dc-replication/#global-domains-architecture