Graceful Degradation Journey of a concept, from fault-tolerance to information loss

文章目录


此文章不同于之前看过的其它文章,其主要对graceful degradation这个词(术语)的源头以及后续的发展变化进行了大概的梳理 。这个工作是挺有意义的。前一段时间有注意到这个词,是在2002年CMU的一篇博士论文里。后面发现跟着这篇文章的工作,竟然没有其它的后续发展。这个让我很惊讶。后面就想着是不是这个词或技术已经融入到其它的领域中,发展成了其它的新词。随后,一直想做类似这样的一个工作,梳理下graceful degradation的脉络发展。由于种种原因,一直耽搁了,现在找到了这样一篇文章,仔细研读下,也分享给想要了解的同行。

2021 16th Iberian Conference on Information Systems and Technologies (CISTI) 这个是伊比利亚的一个信息系统技术的会议

作者是在Universidade de Coimbra 大学。科英布拉大学是葡萄牙历史最悠久的大学。

The quality of a system is measured not by how it works when it works, but by how it works when it doesn’t

开篇的第一句话,可以记下来。衡量系统的质量好坏不是看它正常工作时的状态,而是看它不能正常工作时的状态。

Introduction

作者首先简介了写此文章的动机。以目前计算机专业的毕业生和年轻的程序员为例,他们通常并不在意某些概念的最原始涵义,而只是关注这些词在目前特定领域的演化涵义。(比如,现在很多人将graceful degradation就理解为在网络开发中progressive enhancement,即渐进增强的反义词优雅降级)

对于复杂系统,其是由很多相互依赖的部件或者子系统组成的。当其中某个部件发生故障时,整个系统的工作状态就会呈现降级状态(degrade),即系统的behavior(作者用behavior这个词来进行衡量)比系统出现故障前要表现得差些。然后这种降级的程度可能是比较轻微的,让整个系统的使用没那么便捷;也可能是比较严重的,让整个系统全部失效。随后作者举了两个例子说明。一个是网飞降低视频质量来保证其用户能够实时观看其提供的视频,另一个是阿丽亚娜五号火箭在发射时爆炸。

baseline meaning

由此,自然而然就会想到,在任何情况下,都要让降级的程度尽可能低。因此,优雅降级可以视为系统的一种性质或者一种能力,当其某部分发生故障时,能够尽可能减少故障带来的负面影响。基于此的其它术语,例如fault-tolerance容错,目前也被广泛研究。在谷歌学术中搜索graceful-degradation有35600个相关的条目,在IEEE Xplore中有794个相关条目。

history story

作者接着对一些优雅降级的案例进行了介绍

Analogy

最后作者对优雅降级提出了一种框架或模式,即几乎所有的降级系统可以按照此方式来进行描述。在该描述框架中,有以下几个部分:

  1. System 当该系统某部分发生故障时,整个系统的behavior会degrade–性能降低?
  2. Part Failing 系统部件发生故障
  3. Graceful degradation 当系统部件发生故障时,系统behavior最小的降级
  4. Ungrateful degradation 当系统部件发生故障时,系统behavior的其它降级

conclusion

Three VerMilion snakes of female face,

The smallest motion, filled with grace

mallest motion, filled with* grace

三条有着女性面庞的朱红色的蛇(PS:类似咱们的青蛇?),有着最小动作的那条最优雅。

上一篇:一些还没来的及做的事情


下一篇:mysql修改表数据,锁表解决办法