分布式理论 | 青训营笔记

70 阅读2分钟

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

分布式理论基础

分布式的概念

跨多个节点的计算机程序的集合

分布式的优势

  • 去中心化
  • 低成本
  • 弹性
  • 资源共享
  • 可靠性高

分布式的挑战

故障、网络、环境、安全

常见分布式系统

  • 分布式存储:GFS、Ceph、HDFS、Zookeeper
  • 分布式数据库:Spanner、TiDB、HBase、MangoDB
  • 分布式计算:Hadoop、YARN、Spark

拜占庭将军问题

可类比通讯领域的红军蓝军,但侧重点不同,前者侧重一致性,后者侧重可靠性

共识和一致性

一致性通俗来讲是各分布节点对同一目标、数据的观察与反应是相同的

事件顺序与理论基础

CAP理论

定义:CAP分别是分别代表一致性、可用性、分区容错性,三者不可同时达到 CAP诞生了三类系统:

  • CA系统:传统数据库的代表
  • AP系统:放弃强一致性,保证高可用,不少nosql存储系统采用
  • CP系统:放弃可用性,保证数据一致性

针对故障场景,可以通过故障转移的方式,做一个相对较优的解决方式,即允许一个进程作为Master,其他进程作为Backup,当故障时将请求转移给Backup进行处理

ACID

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

BASE

BASE理论是针对AP系统而言的,其来源于对大型互联网分布式实践的总结

  • Basically Available(基本可用):假设系统,出现了不可预知的故障,但还是能用
  • Soft state(软状态):允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性
  • Eventually consistent(最终一致性):数据最终一定能够达到一致的状态

分布式事务

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

  • 二阶段提交
  • 三阶段提交
  • MVCC

共识协议

  • Qunrum NWR模型
  • RAFT
  • Paxos

引用

青训营学习资料