问题标签 [fault-tolerance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
441 浏览

language-agnostic - 如何在对等系统中稳健但最少地分发项目

如果一个人有一个可以查询的点对点系统,那么他想

  • 减少整个网络的查询总数(通过广泛分布“流行”项目和“相似”项目一起)
  • 避免每个节点的过多存储
  • 在客户停机、硬件故障和用户离开(可能为档案管理员/历史学家检测稀有物品)的情况下,确保即使是中等稀有物品的良好可用性
  • 避免在网络分区的情况下查询无法找到匹配项

鉴于这些要求:

  1. 有没有标准的方法?如果没有,是否有任何受人尊敬但实验性的研究?我熟悉一些分配方案,但我还没有看到任何真正解决学习健壮性的东西。
  2. 我是否缺少任何明显的标准?
  3. 有人有兴趣研究/解决这个问题吗?(如果是这样,我很乐意将我这个周末拼凑的一个非常蹩脚的模拟器的一部分开源,并且通常会提供无用的建议)。

@cdv:我现在已经观看了视频,它非常好,虽然我不觉得它完全符合可插拔的分发策略,但它绝对是 90% 的方式。然而,这些问题突出了这种方法的有用差异,这些差异解决了我的一些进一步担忧,并为我提供了一些后续参考。因此,我暂时接受你的回答,尽管我认为这个问题是开放的。

0 投票
5 回答
1047 浏览

java - Java中的快速失败最终子句

有没有办法从 finally 子句中检测到异常正在被抛出?

请参见下面的示例:

还是忽略其中一个例外是您唯一能做的?

在 C++ 中,它甚至不允许您忽略其中一个异常,而只是调用 terminate()。大多数其他语言使用与 java 相同的规则。

0 投票
2 回答
3594 浏览

linux - 如何模拟 ext3 文件系统损坏?

我想模拟文件系统损坏,以测试我们的嵌入式系统如何对其做出反应,并最终让它们尽可能优雅地失败。我们使用不同类型的块设备模拟闪存来存储经常修改且不适合存储在 NAND/NOR 中的数据。

因为我非常清楚文件树不同部分中数据的修改频率以及敏感数据的存储位置。我想在特定区域注入错误,而不仅仅是随机注入。

在紧急情况下,我们将fsck -y其用作最后的手段,以尝试启动系统并报告处于非常糟糕的状态。我非常想引起错误,这些错误会触发 fsck 尝试修复,以研究对系统恢复能力的影响。

dd if=/dev/random对于我的目的来说不够精确,因为它不能轻易地用于注入受控错误。是否有任何其他工具或方法更适合我的需求,还是我必须自己发明?

0 投票
4 回答
5676 浏览

.net - 如果出现故障,如何自动重新建立双工通道?

我正在使用 WCF 在 .Net 3.5 中开发客户端/服务器应用程序。基本上,长时间运行的客户端服务(在多台机器上)通过 netTcpBinding 建立到服务器的双工连接。然后服务器使用客户端的回调合约来执行某些按需操作,客户端以异步方式响应(我认为这是相当标准的东西)。我将 DuplexClientBase 类子类化以处理大部分通信。

不幸的是,当任一端出现问题(例如网络故障、意外异常等)时,通道会出现故障/中止,并且所有后续操作都会失败。我通过创建一个 RecoveringClientBase 类解决了非双工通道中的这一限制,该类在客户端出现故障时自动获取并重试操作。

所以我的问题是,是否有确定双工通道何时出现故障的既定方法?我应该在哪里检查这个,在服务器或客户端上?如果做不到这一点,我必须有哪些选项来确保重新建立连接?

更新:我正在寻找一些特定于双工通道的建议,其中服务器可能会尝试使用出现故障的回调通道。因此,我需要在频道发生问题时立即重新连接/重新订阅的东西。目前,我正在收听频道的 Closing 事件,如果状态不是已关闭,则重新创建它。它有点工作,但感觉很hacky......

0 投票
1 回答
4404 浏览

fault-tolerance - HP (Tandem) Non stop 与 Linux 集群相比如何?

HP NonStop 系统(以前称为“Tandem”)以其高可用性和可靠性以及更高的价格而闻名。

在这些方面和其他方面,基于 Linux 或 Unix 的集群与它们相比如何?

0 投票
3 回答
553 浏览

hardware - 容错(辐射)软核?

是否有证书或某些权威机构可以决定软核是否具有容错性?

另一个问题。我已经看到 LEON3-FT 只有在 RTAX Actel FPGA 上实现时才具有辐射耐受性。是对的吗?

对不起,但我对此感到困惑,因为有人谈到空间应用的 LEON3-FT(容错),在哪里说耐辐射更正确?

而且,最后一个问题......是否有人知道另一个软核“耐辐射”(用于太空应用)?

0 投票
5 回答
7572 浏览

architecture - 容错软件架构

我正在寻找一些关于容错软件架构的好文章。我可以请一些建议。

0 投票
1 回答
3852 浏览

c# - [OptionalField] 属性是怎么回事?

据我了解,当我反序列化缺少这个新成员的旧版本的类时,我必须使用 [OptionalField] 属性在我的类的新版本中装饰一个新成员。

但是,在序列化类之后添加 InnerTranslator 属性时,下面的代码不会引发异常。我在 onDeserialization 方法中检查该属性是否为 null(这确认它没有被序列化),但我本以为代码会因此引发异常。[OptionalField] 属性本身是可选的吗?

0 投票
4 回答
2306 浏览

mysql - 强大的容错 MySQL 复制

有没有办法获得容错的 MySQL 复制?我所处的环境有很多网络问题。复制似乎出现错误并停止。我需要它继续工作并从这些故障中恢复。有一些包装软件会检查复制的状态并在丢失其日志位置的情况下重新启动它。有替代方案吗?

注意:复制是从具有 MySQL 4.1 的嵌入式计算机到具有 MySQL 5.0.45 的外部计算机完成的

0 投票
4 回答
1055 浏览

erlang - 主管进程如何监控进程?可以在JVM上做同样的事情吗?

Erlang 容错(据我所知)包括使用主管进程来监视工作进程,因此如果一个工作进程死亡,主管可以启动一个新进程。

Erlang 如何进行这种监控,尤其是在分布式场景中?如何确定进程真的死了?它会心跳吗?运行时环境中是否内置了某些东西?如果拔下网线怎么办 - 如果无法与其他进程通信,它是否假定其他进程已经死亡?等等

我正在考虑如何在 JVM(比如 Java 或 Scala)中实现 Erlang 所声称的相同的容错性等。但我不确定它是否需要 JVM 内置的支持才能和 Erlang 一样。尽管作为比较点,但我还没有遇到过 Erlang 是如何做到这一点的定义。