欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

分布式CAP、一致性模型、BASE

程序员文章站 2022-06-19 11:30:45
CAP:一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。一致性:从不同数据副本,读到的数据一致。 强一致性:读到的数据一致。 弱一致性:读到的数据可能一致。 最终一致性:一段时间后,读到的数据一致。可用性:操作是否能完成。如:发出请求后,是否能得到正常的响应。分区容错性:分区故障,系统仍能支撑运行。分布式中,想满足一致性,那么必须等待数据同步,在数据同步期间不满足可用;想满足可用性,就不能等待数据同......

CAP
一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。
一致性:从不同数据副本,读到的数据一致。
    强一致性:读到的数据一致。
    弱一致性:读到的数据可能一致。
    最终一致性:一段时间后,读到的数据一致。
可用性:操作是否能完成。如:发出请求后,是否能得到正常的响应。
分区容错性:分区故障,系统仍能支撑运行。

分布式中,想满足一致性,那么必须等待数据同步,在数据同步期间不满足可用;想满足可用性,就不能等待数据同步完成,不能满足一致性。
分布式中,一致性和可用性无法同时满足,所以最多只能满足CP或者AP。如果满足了CA,不满足P,就不是分布式了。

强一致性模型:
Strict Consistency(严格一致):关系数据库
Linearizable Consistency(线性一致)
Sequential Consistency(连续一致)
弱一致性模型:
Causal Consistency(因果一致):如:微信朋友圈回复。
Eventual Consistency(最终一致):如:Mysql异步复制。

https://www.cnblogs.com/hzmark/p/consistency_model.html
http://loopjump.com/distributed_consistency_model/

BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)。
基本可用:损失部分可用性。
如:
    响应延迟:在线搜索的结果返回从0.5秒延迟到1到2秒。
    服务降级:购物高峰,点击购买,部分消费者被引导到一个降级页面:服务器繁忙,请稍后重试。
软状态:允许数据同步延迟。    

ACID是传统数据库常用的设计理念,追求强一致性模型。BASE支持的是大型分布式系统,提出通过牺牲强一致性获得高可用性。

ACID和BASE代表了两种截然相反的设计哲学。

在分布式系统设计的场景中,系统组件对一致性要求是不同的,因此ACID和BASE又会结合使用。

本文地址:https://blog.csdn.net/haoranhaoshi/article/details/109646162

相关标签: 架构 分布式