分布式系统核心理论

分布式系统正变得越来越重要,大型网站几乎都是分布式的。

分布式系统的最大难点,就是各个节点的状态如何同步。CAP定理是这方面的基本定理,也是理解分布式系统的关键。

CAP理论

在一个分布式环境下,存在3个核心需求:

  • 数据的一致性(Consistency)
  • 系统的高可用性(Availablity)
  • 分区容错性(Partition Tolerance)

一致性

写操作之后的读操作必须返回该值。

对于一个将数据副本分布在不同分布式节点上的系统来说,如果对第一个节点的数据进行了更新操作并且更新成功后,却没有使得第二个节点上的数据得到相应的更新,于是在对第二个节点的数据进行读取操作时,获取的依然是老数据(或称为脏数据),这就是典型的分布式数据不一致的情况。在分布式系统中,如果能够做到针对一个数据项的更新操作执行成功后,所有的用户都可以读取到其最新的值,那么这样的系统就被认为具有强一致性

可用性

可用性指系统只要收到用户的请求,服务器需要在有限的时间内返回结果

分区容错性

由于网络故障可能导致区间通信失败,这个时候平台仍然需要对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障

这3个理论中,不可能同时满足,只能满足两个。由于分区容错必须考虑,因此一致性和可用性只能选择一个。

BASE理论

Base理论主要内容为:

  • Basically Available --基本可用
  • Soft-state --软状态 柔性事务
  • Eventual Consistency --最终一致性
    base理论的核心思想是:即使无法做到强一致性,但是每个应用应该根据自身业务特点,采用适当的方式来使系统达到最终一致性

基本可用

分布式系统在出现不可预知故障的时候,允许损失部分可用性

  1. 响应时间上的损失
  2. 系统功能上的损失

软状态

允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性

最终一致性

分布式系统的数据最终能够达到一致,不需要实时保证系统数据的强一致性


CAP理论和BASE理论面向的是大型高可用可扩展的分布式系统,通过牺牲强一致性来获得可用性,并允许数据在一段时间内是不一致的,但最终达到一致状态。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值