分布式相关理论总结

1、集中式与分布式

集中式:80年代主流,IBM大型机,价格昂贵,性能卓越,部署简单,但是单机扩容较为困难。

分布式:由多个普通pc机组成,分布在不同的网络上,通过消息传递进行通信和协调的系统

分布式系统五gu大特点:
分布性:多台计算机在空间上随意分布,机器分布也随时变动
对等性:所有计算机节点都是对等的,没有主从之分
并发性:多个节点可能并发的操作访问一些共享资源
缺乏全局时钟:难以定义并发事件发生的先后顺序,没有全局时钟概念
故障总会发生:任何计算机节点任何时候都可能发生任何形式的故障

2、分布式理论

CAP理论

CAP理论是分布式系统的基本理论,它主要描述了一个分布式系统三种基本需求之前的区别于联系,具体来说如下:
C:一致性(consistency)
A:可用性(availability)
P:分区容错性(partition tolerance)

一致性:数据在多个副本中能够保持一致的特性,分为三种类型:强一致性,弱一致性,最终一致性

可用性:顾名思义,系统对外提供的服务必须一直处于可用的状态,用户的每一个操作总是能够在有限的时间返回结果有限时间是指,系统必须在指定的时间内返回对应的处理结果,例如搜索引擎一般搜索关键词时间为0.5s。返回结果是指系统能返回成功或者失败,不会返回一个让用户感觉困惑的结果。

分区容错性:在任何网络分区故障的时候,仍然能够保证对外提供满足一致性和可用性的服务,除非是整个网络环境都发生了故障。

三者关系如下:
在这里插入图片描述
CAP定理:一个分布式系统不可能同时满足一致性、可用性和分区容错性。如图上所示的CA、CP和AP。

对于CA:系统保证了CA,但是放弃了P,即用户希望避免出现分区容错性的问题,一种简单的做法就是将所有的数据都放在一个节点上,即不存在所谓的网络分区现象了。

对于CP:系统保证了CP,但是放弃了A,即用户放弃的可用性。常见的是,当系统遇到了网络分区的情况时,受到影响的服务需要等待一段时间,即等待时间对外不提供服务。

对于AP:系统保证了AP,但是放弃了C,即用户放弃了一致性。注意这里所说的放弃一致性,并不是完全放弃一致性,因为完全放弃一致性,数据不一致对于存储来说是没有意义的。这里放弃一致性只的是放弃数据的强一致性,而保留数据的最终一致性,即数据在某一段时间之后会处于一致的状态。

总结:
对于绝大多数分布式系统,P特性是必不可少的,因为网络分区问题肯定存在,因此系统设计一定会保留P,剩余的就是可用性和一致性之间的平衡。

不同的业务场景会对此设计不同的系统选择。例如常见的淘宝购物来看,多用户买同一个商品,并不保证用户都能下单买到,但是最终一定会有一个用户成功买到商品,即所谓一段时间后,数据达到一致,这种系统就只用保证最终一致性。

对于火车票购票系统,则系统显示有票则买到有票,没有则买到无票,这种系统需要保证强一致性,可以牺牲到有效性。

BASE理论

BASE理论是CAP理论中一致性和可用性权衡的结果,其核心思想是即时无法做到强一致性,但是每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。

BA:基本可用状态(Basically Available)
S:软状态(Soft state)
E:最终一致性(Eventually consistent)

基本可用状态
它是指分布式系统在出现不可预知故障的时候,允许损失部分的可用性(例如:响应时间的损失、购物的降级页面)

弱状态
它是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响到系统整体可用性,即允许系统在不同节点副本之间进行数据同步时候的时间延时

最终一致性
不需要实时保证系统的强一致性,在一段时间的同步操作后,最终能够达到一致即可。

总结:
在实际工程设计中,最终一致性主要分为以下几类:
因果一致性
会话一致性
单调读一致性
单调写一致性

参考文献:

《从paxos到zookeeper》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值