上一篇 <<<柔性事务和刚性事务(ACID)
下一篇 >>>Base理论核心思想
CAP理论
① C:Consistency,一致性,在分布式系统中所有数据备份,在同一时刻必须要一致,也就是所有节点访问同一份最新的数据副本
② A:Availability,在集群中部分节点宕机之后,仍然能够保证服务可用;
③ P:Partition tolerance,分区容错性,在分布式系统中网络分区存在脑裂问题以后,部分server与集群其他节点失去联系,无法组成一个群体;
网络分区是指在分布式系统中,不同的节点分布在不同的子网络(机房或异地网络等)中,由于一些特殊的原因导致这些子网络之间出现不连通的状况,但各个子网络的内部网络是正常的,从而导致整个系统的网络环境被切分为若干个孤立的区域。需要注意的是,组成一个分布式系统的每个节点的加入与
退出都可以看作是一个特殊的网络分区。
简单理解(正解):*
A和C都是针对单个集群内的机器是否达到完全一致还是只要有可用的即可。
P是指各集群之间(上海节点、北京节点、武汉节点等)的网络故障(停电、光纤挖断)等,这个是无法避免的,但仍然是有可以替代的。
一旦有服务宕机的时候,肯定有其他可以替代的,这就叫做分区容错。
而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。
CP:当你网络出现故障之后,只能保证数据一致性,但是不能保证可用性,比如zookeeper。
AP:当你网络主线故障之后,不能保证数据一致性,但能够保证可用性,比如Eureka。----可能会产生数据延迟或丢失。
推荐阅读:
<<<分布式事务产生的背景
<<<解决分布式事务的核心思路
<<<柔性事务和刚性事务(ACID)
<<<Base理论核心思想
<<<一致性协议--XA接口
<<<一致性协议--Jta规范
<<<一致性协议--2PC提交协议
<<<一致性协议--3PC提交协议
<<<2PC与3PC协议的提交区别
<<<主流的分布式事务解决框架
<<<LCN-框架介绍
<<<LCN-实现原理剖析
<<<LCN-事务协调者(TM)安装启动
<<<SpringBoot整合LCN
<<<LCN-核心源码分析
<<<LCN-集群模式介绍
<<<Seata-框架介绍
<<<Seata原理实现/执行流程/生命周期
<<<Seata-TM执行时突然宕机了会造成什么问题
<<<Seata-核心源码分析
<<<SpringBoot整合Seata
<<<Seata与Lcn的区别