分布式系统
这里主要对分布式系统的定义、应用甚至意义来做一些阐述。有一个统揽全局的概念。
应用:分布式操作系统,分布式文件系统,分布式存储系统(分布式数据库、缓存、消息队列等)。
这里主要是针对分布式存储系统来展开。
分布式系统的理论基础
基本概念
基本概念:状态特征:无状态、系统重发、幂等性、 并行、并发,事件顺序,逻辑时钟和物理时钟。
进程、线程、协程、
锁:CAS MVCC 锁这里还可以进行展开。比如把信号量那些操作系统相关的部分放在这里。分离锁、分拆锁、避免共享变量缓存,使用并发容器Amino
硬件异常:网络异常、磁盘故障、机房级异常
拜占庭将军问题:拜占庭将军问题是分布式领域最复杂、最严格的容错模型。
分布式系统的重要理论
原子性、一致性、隔离性、持久性
基本可用、软状态、最终一致性
一致性、可用性、分区容忍性
ACID BASE CAP 各自阐述了什么样的问题。以及上面这些性质的解读。
CAP :一致性、可用性、分区容忍性的取舍问题;
针对分布式系统性质的一些解决方案
数据分片、数据复本
几种分片方法,分片所导致的问题,以及解决办法。
备份,几种备份方式,以及备份方式所能带来的问题。
高可用:主备模式、互备模式、集群模式
可靠性: 一致性;一致性又可以分为好多种一致性。什么最终一致性,会话一致性等等。错误恢复;可靠通信。
元数据管理。ETCD 这个单独列出来吧。
分布式通信: 进程通信方式、举例 一对一通信,组(collective)通信
分布式操作系统: 互斥和选举,死锁的检测和解决方法。自稳定,任务调度和负载均衡。
Paxos Raft zab 2PC 3PC分别给出了一致性的解决方案。
Lease机制主要针对网络拥塞或者瞬断的情况下,出现双柱情况的解法,
Quorum NWR 和 MVCC 主要解决分布式存储领域的一致性问题。
Gossip是一种去中心化,容错而又最终一致性的算法。
分布式数据管理:复制数据的一致性。分布式并发控制。
WAL Write ahead log 用来保证数据最终一致性。
LSM log structured merge 用来提升系统的读写效率。将随机写转换为顺序写。
分布式事务,事务又牵扯到一致性问题了。其实事务就是一致性。