分布式中CAP是什么意思?

2021-08-08  本文已影响0人  Depro

1.先说字母的意思

  1. consistency ,一致性,分3种,强一致,弱一致,最终一致;cap中指的是强一致性;
  1. availability,可用性,就是分布式系统,对外表现是保证可用的;不能这次查询正常,下次异常了
  2. partition tolerance,分区容错,意思是一个分布式系统,对外表现的是一个整体,不能因为内部的某个结点异常或者网络故障,导致整个系统异常了;这个是分布式系统必须要保证的。不然就没有分布式的意义了
  3. CAP中,p是必须的,所以ca两个只能满足一种;因为如果要保证数据一致,每个结点数据同步是需要时间的,在这个同步数据的时间内,系统就不可用;如果要可用了,那数据就有可能不强一致了
  4. zookeeper,保证的是CP,强调的时数据强一致;zk是结点之间同步数据的时候,服务是不能保证可用的,如果出现了master网络故障或者下线,需要重新选举leader的这个期间内,服务是不可用的;所以客户端在请求zk服务的时候,要考虑失败重试;
    7.Eurka,保证是AP,数据最终一致,保证可用性; 大多数网站架构的选择,对外提供服务的网站肯定是先保证服务可用了。
  5. redis ,mongdb,是保证CP;涉及到数据存储,服务注册一般都保证数据一致吧。感觉 这是数据存储的基本要求
  6. 满足CA原则的,一般都是单点集群,没有备份数据同步功能 ,扩展性不好
上一篇 下一篇

猜你喜欢

热点阅读