#分布式理论| 青训营笔记

104 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7天 分布式还未涉猎,本次大多为ppt内容摘要和一些个人观点。(只完成部分内容,后面还未听懂) 体会: 在介绍完分布式概念后,初步印象为可以联合多台服务器对程序,数据进行分块存储和处理。分布式去中心化是其重要的功能,在后面的实践中RAFT协议在本人看来就是灵活运用了对中心leader的分化,进而保证在服务器集群某些服务器宕机后系统仍能正常运行。

分布式是什么

分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。 优势:
1.去中心化 2.低成本 3.弹性 4.资源共享 5.可靠性高

分布式的常见系统模型

故障模型

image.png

拜占庭将军问题

image.png

拜占庭将军问题之所以一定不能成功是因为存在传递的延时性,双方都无法保证对方一定能收到自己的消息并回复。因为信息存在被截获的可能(即为丢包),因其存在只能加大发送的次数,在概率上将其成功率不断趋向1。(类似TCP握手一样,在握手时如果超时就会再次发送请求)

共识一致性

image.png

时间和时间顺序

image.png

image.png

分布式理论基础

  • CAP C 一致性,指数据在多个副本之间能够保持一致的特性 (严格的一 -致性)。 A 可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应一但 是不保证获取的数据为最新数据。

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

但又无法做到绝对的CAP理论,由此衍生出了CA,AP,CP.

  • ACID

image.png

  • BASE

image.png

分布式事务

两阶段提交

三阶段提交

MVCC

共识协议

Quorum NWR模型

RAFT协议

Paxos协议

分布式实践

MapReduce

分布式KV