分布式理论 | 青训营笔记

74 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第12天

一、本堂课重点内容:

关于分布式理论的基础认识

分布式计算是计算机科学中一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散地存储于多台独立的机器设备上。

二、详细知识点介绍:

1.分布式概述

1.1-什么是分布式

分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。

优势: 1.去中心化2.低成本3.弹性 4.资源共享5.可靠性高

挑战: 1.普遍的节点故障2.不可靠的网络 3.异构的机器与硬件环境4.安全

1.2- Why-How-What-常见的分布式系统 1.2.1使用者看来

Why: 1.数据爆炸,对存储和计算有大规模运用的述求2.成本低,构建在廉价服务器之上 How: 1.分布式框架 2.成熟的分布式系统 What: 1.理清规模,负载,一致性要求等2.明确稳定性要求,制定技术方案

1.2.2学习者

2.系统模型

2.1故障模型

Byzantine failure:节点可以任意篡改发送给其他节点的数据 Authentication detectable byzantine failure

(ADB): Byzantine failure的特例;节点可以篡改数据,但不能伪造其他节点的数据 Performance failure:节点未在特定时间段内收到数据,即时间太早或太晚 Omission failure:节点收到数据的时间无限晚,即收不到数据 Crash failure:在omission failure的基础上,增加了 节点停止响应的假设,也即持续性地omission failure

Fail-stop failure:在Crash failure的基础上增加了错误可检测的假设

-拜占庭将军问题-共识和一致性-时间和事件顺序

3.理论基础-CAP理论-ACID理论-BASE理论

c (Consistence) 一致性,指数据在多个副本之间能够保持一致的特性(严格的一致性)。 A(Availability) 可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据。 P(Network partitioning) 分区容错性,分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障。

4.分布式事务 -两阶段提交-三阶段提交- MVCC

5.共识协议

  • Quorum NWR模型- RAFT协议
  • Paxos协议

6.分布式实践- MapReduce-分布式KV

三、实践练习例子:

  • 有什么实践举例帮助理解知识点?

四、课后个人总结:

存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。