当前位置: 首页 > 知识库问答 >
问题:

踏频如何处理各种故障条件下的故障?

田丰
2023-03-14

Cadence是一个容错的有状态代码平台。cadence如何在各种故障情况下处理故障?

共有1个答案

轩辕经赋
2023-03-14

分布式系统中有各种各样的故障,Cadence为它们提供了多种选择。

这是我自己的清单。可能不完整。但是如果我能想到的话,我会试着多加一些。

    < li >活动失败并重试。请参阅https://cadence workflow . io/docs/concepts/activities/# time outs < li >另请注意,长时间运行的活动可以通过“心跳”从检查点恢复

>

  • 通过事件源模型的设计,工作流可以从工作人员崩溃时剩余的任何点恢复。参见https://cadenceworkflow.io/docs/concepts/workflows/#state-recovery-and-determinism

    工作流还可以有重试策略,如失败时自动重试的活动https://cadenceworf . io/docs/concepts/workflows/# workflow-retries

    在某些情况下,错误的代码更改会导致错误的状态,从而导致故障。Cadence提供了“重置”工具,可以将工作流重置到任何时间点。看见https://cadenceworkflow.io/docs/cli/#reset-并重新启动

    除重置外,Cadence还允许您通过部署进行重置。这对于重置大量工作流(如数百万)很有用。

    活动和工作流工作者都是无状态的。

    Cadence服务器是一种高度可用且可扩展的服务,提供了持久性。

    • 持久性来自底层设计和持久性存储(由卡桑德拉,MySQL或后记)
    • 在单个集群设置中,Cadence 服务使用不同的独立分片运行。整个群集由不同的主机组成。任何发生故障的主机都可以由另一个主机替换。
    • Cadence 提供跨数据中心复制,以提供更高的可用性 https://cadenceworkflow.io/docs/concepts/cross-dc-replication/#global-domains-architecture

  •  类似资料:
    • Webpack 的配置比较复杂,很容出现错误,下面是一些通常的故障处理手段。 一般情况下,webpack 如果出问题,会打印一些简单的错误信息,比如模块没有找到。我们还可以通过参数 --display-error-details 来打印错误详情。 $ webpack --display-error-details Hash: a40fbc6d852c51fceadb Version: webpa

    • 问题内容: 我有一个用于捕获任何分段错误或ctrl- c的应用程序。使用下面的代码,我能够捕获分段错误,但是该处理程序一次又一次地被调用。我该如何阻止他们。供您参考,我不想退出我的申请。我只是可以小心释放所有损坏的缓冲区。 可能吗? 处理程序就是这样。 在这里,对于Segmentation故障信号,处理程序被多次调用,并且很明显MyfreeBuffers()给我释放已释放的内存的错误。我只想释放一

    • 我有一个应用程序,我用它来捕捉任何分割错误或ctrl-c。使用下面的代码,我能够捕获分段错误,但是处理程序被一次又一次地调用。我怎样才能阻止他们。告诉你,我不想退出我的申请。我只是可以小心释放所有损坏的缓冲区。 可能吗? handler是这样的。 这里的分段故障信号,处理程序被多次调用,因为明显的MyFreeBuffers()给我释放已经释放的内存的错误。我只想免费一次,但仍然不想退出应用程序。

    • 处理 new 故障的方法有多种。到目前为止,我们介绍过用宏 assert 测试 new 返回的值。如果返回值为0,则assert宏终止程序。这不是处理new故障的健壮机制,它不允许我们用任何方法从故障恢复。ANSI/ISO C++ 草案标准指定,出现 new 故障时抛出bad_alloc异常(在头文件<new>中定义)。但许多编译器目前还不支持草案标准,仍然在new故障时返回0。本节介绍三个new

    • 3.1 PG 无法达到 CLEAN 状态 创建一个新集群后,PG 的状态一直处于 active , active + remapped 或 active + degraded 状态, 而无法达到 active + clean 状态 ,那很可能是你的配置有问题。 你可能需要检查下集群中有关 Pool 、 PG 和 CRUSH 的配置项,做以适当的调整。 一般来说,你的集群中需要多于 1 个 OSD,

    • 进行 OSD 排障前,先检查一下 monitors 和网络。如果 ceph health 或 ceph -s 返回的是健康状态,这意味着 monitors 形成了法定人数。如果 monitor 还没达到法定人数、或者 monitor 状态错误,要先解决 monitor 的问题。核实下你的网络,确保它在正常运行,因为网络对 OSD 的运行和性能有显著影响。 2.1 收集 OSD 数据 开始 OSD