分布式领域CAP理论
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容忍性) 可靠性
定理:任何分布式系统只可能同时满足二点,没办法完成三者
Consistency一致性. 在事务开始或结束时,数据库应该在一致状态。一个事务中所有操作都必须全部完成,要么全部不完成。简单来说就是就是数据库中的事务,比如你转1000块给别人,不能你的账户少了1000块,对方的账户却没有多1000块。简单来说,就是要准
Availability(可用性):指的是当client发出数据读写请求时,要在足够短的时间内做出响应。简单来说,就是要快
Partition tolerance(分区容忍性) :在不稳定和不可靠的网络环境下,节点可能出现失联或者荡机,网络可能出现分区子网,在这种情况下仍然能保证数据不出错。(分区容错性是我们必须最终要保证的)简单来说,就是要可靠
为什么不能同时完成三个呢?
一致性和可用性是一对矛盾的东西,因为要实现一致性,在本质上都是进行副本之间的同步,而这个是需要花时间的,如果要保证强一致性,那么在同步的这一段时间中,是不可用的。简单来说,保持了一致必须牺牲时间,保证了高响应必须牺牲一致性,要快就不一定准,要准就不一定快