这是我参与「第五届青训营」伴学笔记创作活动的第 14 天
关于分布式
概念
分布式系统是计算机程序的集合,可以利用多个独立的计算节点资源,来实现共同目标。有分布式计算,分布式存储,分布式数据库等类型。
分布式优势
随着互联网的发展,需要处理的数据量越来越多,对存储和计算需求大,这时需要分布式系统来提供解决方案。
分布式的成本低,可以构建在廉价服务器上。
系统模型
故障模型
故障模型有磁盘故障,磁盘坏道、坏块,服务器主板故障,网络故障,网络分区,内存故障,线缆故障,内核故障,CPU故障,电源故障,软件故障。
共识和一致性
最终一致性是指客户端 A 和 B 正在读取同一数据,但客户端 C 正在对该数据进行写入访问,此时保证 A 和 B 最终读取到一致的数据。
时间和时间顺序
Lamport 逻辑时钟,对每一个节点 Pi 定义时钟 Gi 为一个函数,为任意事件 a 赋值编号 Gi(a)。
a 和 b 在系统时间节点上且 a 在 b 之前发生,有Gi(a) < Gi(b)。b 接受 a 发送的消息时,也有Gi(a) < Gi(b)。
一些理论
ACID 理论
数据库有四个特性,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
原子性指事务包含的所有操作要么全部成功,要么全部失败。
一致性指事务必须使数据库从一个一致性状态变换到另一个一致性状态,在事务执行前和执行后都要处于一致性状态。
隔离性指多个用户并发访问数据库时,数据库为每个用户开一个事务,不被其他事务干扰。
持久性指事务一旦被提交,对数据库的改动是永久性的。
BASE 理论
Basically Available (基本可用),系统出现不可预知的故障时还是可以使用。
Soft state (软故障),允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性。
Eventually consistent(最终一致性),系统能够保证系统最终可以达到一致的状态。
共识协议
Quorum NWR 模型
N 是指在分布式存储系统中有多少备份的数据。
W 是指一次成功的更新操作有 W 份数据写入成功。
R 是指一次成功的读取操作有 R 份数据读取成功。