- C Consistency,一致性,在分布式系统中的所有数据备份,在同一时刻是否同样的值,所有客户端总是展现同样的数据。
- 强一致性(strong consistency):任何时刻,任何用户都能读取到最近一次成功更新的数据。
- 单调一致性(monotonic consistency):任何时刻,任何用户一旦读取到某个数据在某次更新后的值,那么久不会读取到比这个值更旧的值。也就是说可以获取的数据必须是单调递增的。
- 会话一致性(session consistency):任何用户在某次会话中,一旦读取到某个数据在某次更新后的值,那么在本次会话中就不会读取到比这个值更旧的值。会话一致性是在单调一致性的基础上进一步放松约束,只保证单个用户单词会话的单调性,在不同用户或者同一用户不同会话间没有保障。
- 最终一致性(eventual consistency):用户只能读取到某次更新后的值,但系统保证数据将最终达到完全一致的状态,知识所需时间不能保障。
- 弱一致性(weak consistency):用户无法在确定的时间内读到最新更新的值。
- A Availiability,可用性,负载过大后,集群整体是否还能响应客户端的读写请求,每个客户端总是能读写。
- P Partition Tolerance,分区容错性,就是高可用性,一个节点宕机后,并不影响其他节点,当集群中某些节点无法联系时仍能正常提供服务。
- CA有一致性和可用性的系统通常可扩展性能不高,不具有分区容错性,如传统的关系型数据库MySQL。
- AP通常注重系统性能和可扩展性,而非强一致性,如Eureka
- CP为了满足一致性,在系统分区期间会停止服务,直到数据恢复一致如Zookeeper
- CAP定理:在一个分布式系统中CAP三个特性不能同时满足。最多只能同时实现上面的两点,而由于当前网络硬件可能会出现延迟丢包等问题,所以分区容错性是我们必须要实现的,所以我们只能在一致性和可用性之间进行权衡。
- zookeeper强调一致性,所以zookeeper集群中主节点宕掉后,眼重新进行选举,而在选举期间无法对外提供服务。
分布式系统中的CAP理论
最新推荐文章于 2024-09-28 05:00:00 发布