4

分布式系统中的失败模型

 2 years ago
source link: https://zzyongx.github.io/blogs/failure-modes-in-distributed-systems.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

分布式系统中的失败模型

本文是FAILURE MODES IN DISTRIBUTED SYSTEMS 的阅读笔记。Linux中有个哲学,如果有动静(错误),就把动静闹大点。对错误遮遮掩掩,只能掩盖更大的错误。本文提到的几种失败模型,最彻底的失败要好过摇摆不定的失败,因为前者的确定性更大。大的确定性利于发现问题。例如:引发Segment fault的内存越界,比写花相邻内存,系统持有错误数据要好,因为没法确定内存是什么时候写花的。

1 几种失败模型

  • 拜占庭失败 Byzantine or arbitrary failures

这种失败发生时,它可能向部分节点发消息说 φtrue ,但是向另一部分发消息说 φfalse 。此外,它还发布其节点的虚假信息,例如,节点S的状态是 true ,但是S的真实状态是 false

这种失败模型,不确定性奇高,失败的节点完全不可理喻。

  • 做了认证的拜占庭失败 Authentification detectable byzantine failures

此时,失败节点不能发布其它节点的虚假消息

  • 性能失败 Performance failures

节点能正确响应,但是不能在指定时间内响应。

  • 遗漏失败 Omission failures

上一种情况的特例,响应无限延迟,没有响应。

  • 崩溃失败 Crash failures

发生一次遗漏失败,后续一直遗漏失败。

  • “失败-停止”/Fail-stop failures/

这是确定性最高的失败,表现同崩溃失败,但是其它正常节点都能确定该节点失败了。

2 失败模型之间的关系

上述几种失败模型,从上到下,确定性逐步提高。分布式系统中,失败无可避免,但是要提高失败的确定性。

可以把失败模型分为一致性失败 Consistent failures 和 不一致失败 Inconsistent failures 。对于前者,失败节点向所有剩余节点表现出失败,对于后者,失败节点向部分节点表现出失败,向部分节点不表现出失败。显然前者的确定性更高。

作者在文章中用了服务器server,我觉得节点表述稍微恰当,一个服务器部署多个节点时,更又可能出现上述情况。

还可以把失败分为数据失败 Value failures 和响应时长失败 Timing failures ,对于有状态的分布式系统,前者可能已经破坏了数据完整性。


Recommend

  • 237

    正文   思考这个问题的初衷,是有一次给朋友转账,结果我的钱被扣了,朋友没收到钱。而我之前一直认为银行转账一定是由事务保证强一致性的,于是学习、总结了一下分布式事务的各种理论、方法。   事务是一个非常广义的词汇,各行各业解读都...

  • 80
    • lrita.github.io 5 years ago
    • Cache

    分布式系统中的故障模型

    在分布式系统的设计中,一个很重要的属性就是 容错 。要 容错 那一定要先知道在分布式系统中通常存在哪些错误模型,以及他们之间的关系[^1]。 Byzantine or arbitrary failures ...

  • 53
    • blog.xiaohansong.com 5 years ago
    • Cache

    分布式系统:一致性模型

    分布式系统中一个重要的问题就是数据复制,数据复制一般是为了增强系统的可用性或提高性能。而实现数据复制的一个主要难题就是保持各个副本的一致性。本文首先讨论数据复制的场景中一致性模型如此重要的原因,然后讨论一致性模型的含义,...

  • 4

    高考物理教育的失败——一个经典模型之错误 作者: physixfan 想必学过机械能守恒的高中生都作过这么一类题吧,如图,一个铁链原来静止的放在水平面上,漏出一点点可忽略不计,然后他会在重力作用下下滑,告诉你铁链的质量...

  • 4

    GFS(Google File System)是 Google 公司开发的一种分布式文件系统...

  • 8

    最近看到的一篇超棒的关于分布式系统中强一致性模型的blog,实在没有不分享的道理。最近比较闲,所以干脆把它翻译了,一是为了精读,二是为了更友好地分享。其中会插入一些乱七八糟的个人补充,评论区的精彩讨论也会有选择性的翻译。原文在这:

  • 5
    • www.techug.com 2 years ago
    • Cache

    为什么机器学习模型会失败?

    为什么机器学习模型会失败? 2

  • 6

    Replication(上):常见复制模型&分布式系统挑战2022年08月25日 作者: 仕禄

  • 1

    Replication(上):常见的复制模型&分布式系统的挑战 原创 精选 作者:...

  • 7

    分布式系统安全之分散式P2P模型 作者:铸盾安全 2023-02-13 00:20:08 最初,P2P系统以其对eMule或KaZaA等文件共享应用程序的支持而闻名,尽管它们的使用现在在社交等应用程序中很常见。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK