分布式概念与协议

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

分布式协议

分布式理论概念

1. 分布式数据一致性

分布式数据一致性,指的是数据在多个副本中存储时,各副本中的数据是一致的。

在分布式系统中,数据往往有多个副本。多个副本就需要保证数据的一致性。这就带来了同步的问题,因为网络延迟等因素,我们几乎没有办法保证可以同时更新所有机器中的所有数据,一定会有一刻会出现数据不一致。

那么实际应用中,我们如何既保证数据一致性,同时又不影响系统运行的性能呢?于是一致性级别的概念由此诞生。

2. 一致性级别

  1. 强一致性

它要求系统写入什么,读出来的也会是什么,用户体验好,但是实现起来对系统的性能影响比较大

  1. 弱一致性

这种级别,不承诺立即可以读到写入的值,也不承诺多久之后数据能够达到一致,但会尽可能的保证到某个时间节点后,数据能够达到一致状态。

  1. 最终一致性

最终一致性也是弱一致性的一种,它无法保证数据更新后,所有后续的访问能看到最新数据,而是需要一个时间,这个时间之后可以保证一致。

如微信的2小时到账:

3. CAP理论

CAP定理,它指出一个分布式系统不可能同时满足以下三点:

  • 一致性 (Consistency)所有节点访问时都是同一份最新的数据副本
  • 可用性(Availability)每次请求都能获取到非异常的响应,但不保证数据最新
  • 分区容错性(Partition tolerance)分布式系统遇到任何网络分区故障的时候,仍然能够对外提供服务,除非整个网络环境都发生了故障

4. BASE理论

BASE全称是:Basically Available(基本可用),Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。

Base理论的核心思想是:既然无法做强一致性,那么每个应用可以根据自身业务特定,采用适当的方式使系统达到最终一致性。

  • 基本可用:出现了不可预知的故障,但还是能用。只是相对正常系统来说可能响应变慢,部分功能缺失。
  • 软状态:指系统的数据存在中间状态,并认为该状态不会影响系统的整体可用性。即允许不同副本的数据存在延迟
  • 最终一致性:上面说的软状态,不能一直是软状态,必须要有时间期限。在期限过后,应当保证所有副本数据一致

分布式一致性协议

1. 两阶段提交

两阶段提交协议,简称2PC(2 Prepare Commit),是比较常用的解决分布式事务问题的方式,要么所有参与进程提交事务,要么都取消事务。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值