简介
在分布式系统的设计中分布式系统有三个指标 CAP但是没有一种设计可以同时满足 CAP 一致性可用性分区容错性 3个特性只能满足其中 2 个
CAP
简介
CAP | 描述 |
---|---|
C 一致性 | Consistency一致性 强调的是 分布式系统中各个节点之间的数据一致性不管访问哪个节点返回的数据都是一致的否则节点不可用拒绝服务 |
A 可用性 | Availability可用性 强调的是 分布式系统中各个节点都能正常被访问正常响应请求但是无法保证 返回数据的一致性也就是各个节点正常访问但是节点之间数据不一定一致 |
P 分区容错性 | Partition tolerance节点网络故障不可避免当节点间出现任意数量的消息丢失或高延迟网络障碍的时候系统仍然可以继续提供服务 |
当节点出现的数据不一致时的处理方式不同
组合
组合 | 描述 |
---|---|
CA | 一致性 + 可用性不存在P 一定得有分布式系统下网络故障网络延迟必然存在 |
CP | 一致性 + 分区容错性数据强一致性返回的都是绝对一致的数据不一致的时候会读取失败拒绝提供服务 |
AP | 可用性 + 分区容错性服务高可用但是不能保证数据一致性要保证数据一致性服务就不一定可用 |
Base
Base基本可用Basically Available和最终一致性Eventually consistent
CAP 规则下 AP 模型 的延伸AP + Base实现 服务高可用 + 数据最终一致性
最终一致性也就是允许节点之间的数据出现短暂的数据不一致情况但是节点高可用
为什么 CAP 不能同时满足
在分布式系统中节点与节点之间通过网络通信网络通信必然存在网络延迟、网络故障
因此 CAP 中P 分区容错性必须存在其次CA 不可能同时存在因为分布式系统下数据同步存在延迟无法实时一致性存在某一刻不一致那么数据不一致的情况下
● 节点要么满足 C数据不一致拒绝服务
● 节点要么满足 A服务可用但是数据不一致
综上所述P 必须C 和 A 只能选一个也就是 组合 CP、AP
Redis 采用的分布式理论 CAP + Base
redis 采用的是 AP + Base 模型也就是满足 分区容错性 和 服务高可用 保证数据的最终一致性
原文地址
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦