分布式系统理论

CAP理论

聊到分布式,必定绕不开CAP理论。CAP理论认为,一个分布式系统,最多可以满足其中的两项,这就意味着需要牺牲第三项。其中P是必须要满足的,否则可能单点故障导致整个分布式系统不可用状态,所以每个服务要做冗余部署。所以需要在A和C做取舍。如果选择A,意味着每次数据更新需要做同步到冗余节点,此时系统无法马上获取最新数据。如果要马上获取最新数据,只能晚点再同步数据到冗余节点。

C:一致性:指强一致性,更新操作成功后,所有节点在同一时间的数据是一致的。
A:可用性:服务一直可用。
P:分区容错性:分布式系统在遭遇节点故障或者网络分区故障的时候,仍然具备对外提供服务的能力。这就意味着单个服务需要做冗余部署,而不是单机部署。

BASE理论

BASE理论的核心是,即使无法做到强一致性,但应用可以采用适合的手段达到最终一致性。

  1. 基本可用:分布式系统出现故障时,允许损失部分可用性,即保证核心服务可用。比如双十一大促,可能会把非核心功能暂停,例如退款、评论功能等,保证登录、搜索等功能的正常运行。
  2. 软状态:允许系统出现中间状态,而该中间状态不会影响服务的整体可用性。比如一份数据可能有多份副本,允许副本之间的数据同步延迟,mysql的异步同步复制也是一种体现。
  3. 最终一致性:节点中的数据在最后达到数据一致。

三种数据一致性辨析

分布式系统中,节点都是会冗余部署的,它们之间的数据同步机制决定了属于哪一种一致性。
强一致性:数据同步完成之前,该数据不可用。一般依赖分布式锁达到强一致性。
弱一致性:节点之间的数据不存在同步的过程,从不同节点读到的数据可能一直都不一致。
最终一致性:类似mysql的binlog同步机制,每隔一段时间,才将binlog数据同步给从节点。比如zk,超过半数同步完成,就会commit数据到内存,响应客户端成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值