cap 理论
cap理论
https://en.wikipedia.org/wiki/CAP_theorem
c : consistency 一致性,关于一致性主要是针对数据强一致性,要求每次读取操作都会获取到最新的数据
a : available 可用性,每次请求都能收到一个没有错误的请求,但不能保证得到的数据是最新的数据
p : partition tolerance 分区容忍性, 尽管服务之间通讯可能存在一定的消息丢失,但系统正常运行
对于 cap 只可能保证两两组合存在,无法同时满足三个要求
对于 consistency 和 available 其主要区别点在于数据是否一致,对于 consistency 要求所有的节点都必须拥有完全一致的数据(强一致性),而对于available其主要保证服务请求的有效性(服务的健康性),但并不能保证返回的数据是否正确;
对于我们而言,所有的分布式项目都需要保证系统正常运行,这就意味着分区容忍性 (partition tolerance); 另外大部分系统可以接收数据非强一致性,但需要保证高可用性,因此需要保证 available
因此大部分系统都会使用 ap