lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

  1. 在分布式系统中,有一个基本原则叫做CAP,consistence,一致性,availability,可用性,partition tolerance分区容错性。
  2. 一致性,在这里指的是分布式系统的各个副本的值要保持同步,这里强的是空间上的一致,注意和数据库中ACID中的一致性相区分,那个一致性指的是事务执行前后的逻辑一致性,比如你转1000块给别人,不能你的账户少了1000块,对方的账户却没有多1000块。
  3. 可用性,指的是当client发出数据读写请求时,要在足够短的时间内做出响应。
  4. 分区容错性指的是,在不稳定和不可靠的网络环境下,节点可能出现失联或者荡机,网络可能出现分区子网,在这种情况下仍然能保证数据不出错。
  5. 所以,分区容错性是我们必须最终要保证的,但是一致性和可用性是一对矛盾的东西。所以在三者中,我们只能取两个。
  6. 为啥一致性和可用性是一对矛盾的东西呢?因为要实现一致性,在本质上都是进行副本之间的同步,而这个是需要花时间的,如果要保证强一致性,那么在同步的这一段时间中,是不可用的。
posted on 2020-10-21 19:58  白露~  阅读(851)  评论(0编辑  收藏  举报