关于CAP理论自己的一些见解

什么是CAP理论?

  • Consistency(一致性), 数据一致更新,所有数据变动都是同步的
  • Availability(可用性),系统有好的响应性能,不能让用户等待系统反应
  • Partition tolerance(分区容忍性) 可靠性,表示多台服务器需要保持可用状态,微服务的前提。

为什么说CAP不能同时满足?

  • CA
    C表示的数据的强一致性,说明系统需要一定的时间来进行数据的同步,来保证每个服务器的数据保持一致,A表示要求系统需要很强的响应性能,也就是说系统需要实时快速的拿到准确的数据。那么就要求数据的同步时间越短越好,怎样让系统的同步时间越短越好,且保证数据是一致的?那么就是系统服务越少越好,那么这样和我们进行微服务的要求是不符合的,所以在微服务中CA理论是不存在的。
  • CP
    CP理论要求的是在有很多微服务的情况下,保证每个服务器的数据都是一致的。这样做,要保持数据的强一致性,那么就需要时间来对数据进行同步,A表示的系统的响应时间必须要短,这个是和CP理论需求是相反的,
  • AP
    AP理论说的是在很多微服务的系统中,要求保证系统数据的高可用,那么就需要牺牲数据的同步时间为前提,也就是说数据的强一致性P无法得到满足。

常见的服务器类型

  • CP:zookeeper,Redis 在微服务中保持数据的强一致性
  • CA:Eureka 在微服务中保持数据的异步处理,最终一致性
  • AP:类似关系型数据库,所有的数据都存储在一台服务器上,没有其他微服务数据库的分布。

猜你喜欢

转载自blog.csdn.net/m0_57184607/article/details/120933421