[non-functional] reliable的system一定是consistent的吗?

课上说到non-functional requirement的几个维度:

  • scalability
  • reliability
  • availability
  • consistency
  • latency
  • efficiency
    课上说到reliability表示正确性,比如Google Doc的所有用户编辑同一份文档的时候应该看到同样的内容。 consistency代表同样的数据在不同副本对外仿佛只有一个副本。

这两个概念太相似了,如果我们说一个系统的架构是reliable的,是不是代表整个系统一定是consistent的呢?

在面试中我们应该如何分辨这两个概念呢?

reliability表示查询出来的结果是正确的,符合设计初衷的。consistency表示在同一时刻查询数据总是得到一样的值。两个概念完全不同,因为错误的结果也可以在任何时候查询都一致。

1 个赞

噢!有启发到!
consistency只是保证副本之间都一样。但是可能全都是错的!