知识卡片
可用性要求的是"合理响应"而非"正确结果"
内容
CAP的可用性精确定义是”非故障节点在合理时间内返回合理响应,不超时不报错”——是”合理”而非”正确”。AP架构下,节点返回尚未同步的旧数据,只要不是错乱值,仍满足可用性,因为它合理但非最新。发散:把”可用”等同”正确”是对AP系统的常见误解——AP承诺的从不是数据一定对,而是一定给出说得过去的答复,理解这点才能评估AP架构能否被业务接受。
参考来源
- 位置:《从0开始学架构》第26章《22|想成为架构师,你必须知道CAP理论》"可用性"一节(源文件:_epub-src/OEBPS/Text/part0025_split_002.html、part0025_split_003.html)
- 结论依据:原文引用第二版定义"非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)",并以AP案例说明"N2将当前自己拥有的数据x返回给客户端C了……这里N2节点返回x,虽然不是一个'正确'的结果,但是一个'合理'的结果,因为x是旧的数据,并不是一个错乱的值,只是不是最新的数据而已"。
- 原始内容:非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)……N2节点返回x,虽然不是一个"正确"的结果,但是一个"合理"的结果,因为x是旧的数据,并不是一个错乱的值,只是不是最新的数据而已。