美文网首页
三个容易混淆的概念:容错、高可用和灾备

三个容易混淆的概念:容错、高可用和灾备

作者: 小叶与小茶 | 来源:发表于2020-05-28 08:16 被阅读0次

    说实话,这三个概念,恐怕大部分人都搞不太清楚差异,也包括自己。今天读了阮一峰的文章,清楚了许多。下面是从阮大侠的笔记中摘抄的一些内容。

    首先,三者的英文名称如下:

    • 容错:Fault Tolerance
    • 高可用:High Availability
    • 灾备:Disaster Recovery

    容错

    容错,当系统发生故障时,系统的业务水平可能下降,但仍然坚持运行,不会完全失败(注意,不完全失败就不算业务中断,这是两个概念)。飞机有四个引擎,一个引擎坏了,剩下三个引擎还能继续飞,这就是"容错"。

    容错

    高可用

    高可用,目的是为了让系统比正常时间能更长久的保持一定的运行水平。高可用不是指系统业务不中断(那是容错能力),而是指一旦中断能够快速恢复,如果需要很长时间才能恢复可用性,就不叫高可用了。汽车的备胎就是一个高可用的例子。如果没有备胎,轮胎坏了,车就开不久了。备胎延长了汽车行驶的可用时间。

    高可用

    容灾

    容灾,系统发生灾难是恢复业务的能力。灾备的目的是保存系统的核心部分。一个好的灾备方案,就是从失败的基础设施中获取企业最宝贵的数据,然后在新的基础设施上恢复它们。注意,灾备不是为了挽救基础设置,而是为了挽救数据和业务。如下图所示,飞机是基础设施,飞行员是业务,而飞行员弹射装置就是灾备措施。一旦飞机即将坠毁,代表基础设施就要没了,但灾备可以让业务幸存下来。

    容灾

    总结

    其实,对字面意义抠来抠去并没有意义。我们在搭建系统时,最重要的就是考虑业务在各种异常或故障中能否保持连续性。异常或故障的程度是可变的,应对措施也是多样的:一条判空语句、一段 FMEA 代码,Master/Slave,M+N,同城灾备,两地三中心……这些都是系统设计中应该考虑的东西。

    如果一定要对这三个名词做个关联,“容错和容灾一起构成了高可用”,我想这句话是比较合适的。

    相关文章

      网友评论

          本文标题:三个容易混淆的概念:容错、高可用和灾备

          本文链接:https://www.haomeiwen.com/subject/mhtoahtx.html