分布式系统route map

分布式系统

这里主要对分布式系统的定义、应用甚至意义来做一些阐述。有一个统揽全局的概念。

应用:分布式操作系统,分布式文件系统,分布式存储系统(分布式数据库、缓存、消息队列等)。

这里主要是针对分布式存储系统来展开。

分布式系统的理论基础

基本概念

基本概念:状态特征:无状态、系统重发、幂等性、 并行、并发,事件顺序,逻辑时钟和物理时钟。

进程、线程、协程、

锁: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 用来提升系统的读写效率。将随机写转换为顺序写。

分布式锁

分布式事务,事务又牵扯到一致性问题了。其实事务就是一致性。

分布式系统数据质量、监控

分布式系统的运维问题

TODO 消息队列应该归为哪一类呢?

Kafka

Redis

NSQ