这是我参与「第五届青训营 」伴学笔记创作活动的第 7天 分布式还未涉猎,本次大多为ppt内容摘要和一些个人观点。(只完成部分内容,后面还未听懂) 体会: 在介绍完分布式概念后,初步印象为可以联合多台服务器对程序,数据进行分块存储和处理。分布式去中心化是其重要的功能,在后面的实践中RAFT协议在本人看来就是灵活运用了对中心leader的分化,进而保证在服务器集群某些服务器宕机后系统仍能正常运行。
分布式是什么
分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。
优势:
1.去中心化
2.低成本
3.弹性
4.资源共享
5.可靠性高
分布式的常见系统模型
故障模型
拜占庭将军问题
拜占庭将军问题之所以一定不能成功是因为存在传递的延时性,双方都无法保证对方一定能收到自己的消息并回复。因为信息存在被截获的可能(即为丢包),因其存在只能加大发送的次数,在概率上将其成功率不断趋向1。(类似TCP握手一样,在握手时如果超时就会再次发送请求)
共识一致性
时间和时间顺序
分布式理论基础
- CAP C 一致性,指数据在多个副本之间能够保持一致的特性 (严格的一 -致性)。 A 可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应一但 是不保证获取的数据为最新数据。
P分区容错性,分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障。
但又无法做到绝对的CAP理论,由此衍生出了CA,AP,CP.
- ACID
- BASE