[ 后端基础Day7 | 青训营笔记]

58 阅读2分钟

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

分布式理论

概述

什么是分布式?

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

优势:

去中心化

低成本

弹性

资源共享

可靠性强

缺点:

普遍的节点故障

不可靠的网络

异构机器与硬件环境

安全

image-20230202112227057.png

常见的分布式系统

image-20230202131434826.png

理论基础

CAP理论:

C:一致性

A:可用性

P:分区容错性

image-20230202150911920.png

ACID理论:

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

A原子性

C一致性

I隔离性

D持久性

CAP的一致性是指所有节点某个时刻,数据相同

BASE理论:

对CAP中的一致性和可用性权衡的结果

Basically Available 基本可用

Soft state 软状态

Eventually consistent 最终一致性

image-20230202151529670.png

分布式事务

image-20230202151821092.png

image-20230202152549521.png

MVCC

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

image-20230202152831611.png

共识协议

Quorum NWR模型

N:在分布式存储系统中,有多少备份数据

W:代表一次成功更新操作要求至少有w份数据写入成功

R:代表一次成功的读数据操作至少有r份数据成功读取

为了保持一致性 W+R>=N

RAFT协议

分布式一致性算法

image-20230202153940487.png

Paxos协议

分布式实践

image-20230202154856160.png

image-20230202154916421.png