架构基石 | 青训营笔记

63 阅读2分钟

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

分布式理论 —— 现代架构基石

分布式概述

什么是分布式

  • 优势:
  1. 去中心化
  2. 低成本
  3. 弹性
  4. 资源共享
  5. 可靠性高
  • 挑战:
  1. 普遍的节点故障
  2. 不可靠网络
  3. 异构的机器与硬件环境
  4. 安全

why-how-what

常见分布式系统

  • 分布式储存:
  1. Google File System:分布式文件系统
  2. Ceph:统一的分布式储存系统
  3. Haddop HDFS:基于GFS架构的开源分布式文件系统
  4. Zookeeper:高可用的分布式数据管理与系统协调框架
  • 分布式数据库:
  1. Google spanner:可扩展的、全球分布式的数据库
  2. TiDB:开源分布式关系型数据库
  3. HBase:KAIYUAN Nosql数据库
  4. MongoDB:文档数据库
  • 分布式计算:
  1. hadoop:基于mapreduce分布式计算框架
  2. spark:在hadoop基础之上,使用内存来储存数据
  3. YARN: 分布式资源调度

故障模型:

  • Byzantine failure:节点可以任意篡改发送给其他节点的数据
  • authentiction detectable Byzantine failure(ADB):by特例,节点可以篡改数据、但不能伪造其他节点的数据
  • performance failure:节点未在特定时间段内收到数据,即时间太早或太晚
  • omissin failure:节点收到数据的时间无限晚,既收不到数据
  • crash failure:在om基础上增加了节点停止响应的假设,也即持续性的om
  • fail-stop failure:在cr的基础上增加了错误可检测的假设

理论基础

CAP

  • c:一致性
  • a:可用性
  • p:分区容错性
  • 无法百分百相容cap
  • ca:加强一致性和可用性,传统的单机数据库的选择
  • ap:注重用户体验感的系统
  • cp:钱财安全相关的系统

ACID

事务: 数据库管理系统执行过程的一个逻辑单元,他能够保证一个事务中的所有操作要么全部执行,要么全部不执行。

  • 原子性(A):所有操作要么全部成功,要么全部失败回滚
  • 一致性(C):一个事物指向前后都必须处于一致性状态
  • 隔离性(I):不能被其他事务的操作所干扰
  • 持久性(D):一个事务一旦被提交,那么改变就是永久性的

BASE

针对于ap系统

分布式事务

MVCC:时间戳预言机

共识协议

Quorum NWR模型

  • N:在分布式存储系统中,有多少份备份数据
  • W:代表一次成功的更新操作要求至少有w份数据写入成功
  • R:代表一次成功的读数据操作要求至少有r份数据成功读取

**W+R>N ** :保证前一致性