分布式系统之 cap 理论
cap理论是指:一个分布式系统不可能同时满足以下三种
一致性(C:Consistency)每次写数据涉及多个副本的写,是否能够保持保证数据正确一致
可用性(A:Available) 每一次操作请求必须在有限时间内返回结果 强调服务的性能和高可用
分区容错性(P:Partition Tolerance)强调的是网络不通的时候,还可以保证在写数据过程中如何保证多个节点的数据一致性(C),并且可用(A)
只要是分布式系统,P这个客观条件就一定存在,问题就在P存在(多个节点)的情况下,不能两全其美,又高可用又能保证数据的一致。实际上只能保证CP或AP。
CP : 如Zookeeper 在出现网络问题重新选举的时候整个集群是不可用的,它所提供的是顺序一致,所以 Zookeeper保证的是CP
AP : 如Elasticsearch集群采用主副分片的方式存储数据,一旦主分片丢失,副本分片可以晋升成为主分片提供可用服务。但是ES集群在写入索引数据后会有1s的延迟(不能实时返回正确数据),并且分页查询也不能保证数据的正确。
版权声明: 本文为 InfoQ 作者【阿飞】的原创文章。
原文链接:【http://xie.infoq.cn/article/3f61aa624fe0d8398fce1062e】。文章转载请联系作者。
评论