分布式理论-现代架构的基石| 青训营笔记

66 阅读2分钟

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

一、分布式概述

1. 什么是分布式

分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同目标。

(1)分类

🥞 分布式计算

🥞 分布式存储

🥞 分布式数据库

(2)优势

🥞 去中心化

🥞 低成本

🥞 弹性

🥞 资源共享

🥞 可靠性高

(3)挑战

🥞 普遍的节点故障

🥞 不可靠的网络

🥞 异构的机器和硬件环境

🥞 安全

2. why-how-what

image.png

3. 常见的分布式系统

image.png

二、系统模型

1. 故障模型

image.png

image.png

2. 拜占庭将军问题

image.png

image.png

3. 共识和一致性

image.png

4. 时间和事件顺序

image.png

image.png

三、理论基础

1. CAP理论

🥞 C(Consistence):一致性,指数据在多个副本之间能够保持一致的特性(严格的一致性)

🥞 A(Availability):可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应(但是不保证获取的数据为最新的数据)

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

image.png

image.png

2. ACID理论

🥞 事务是数据库系统中非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能够保证一个事务中的所有操作要么全部执行,要么全都不执行。

image.png

3. BASE 理论

image.png

四、分布式事务

1. 二阶段提交

image.png

image.png

image.png

2. 三阶段提交

image.png

3. MVCC

🥞 MVCC 是一种并发控制的方法,维持一个数据的多个版本,使读写操作没有冲突。所以既不会阻塞写,也不会阻塞读。MVCC 为每个修改保存一个版本,和事务的时间戳相关联。可以提高并发性能,解决脏读问题。

image.png

image.png

五、共识协议

1. Quorum NWR 模型

image.png

2. RAFT 协议

image.png

image.png

image.png

image.png

3. Paxos 协议

image.png

总结

image.png

参考文献

image.png