-
分布式系统起源
- 单机模式 - 数据并行 - 任务并行
- 分布式系统指标
- 分布式系统的出现就是为了用廉价的、普通的机器解决单个计算机处理复杂、大规模数据和任务时存在的性能问题、资源瓶颈问题,以及可用性和可扩展性问题。不同业务和系统对各指标的差异,比如电商、电信、银行、大数据、云计算。
- 性能:吞吐量(throughput)、响应时间(Response Time)。QPS、TPS、BPS
- 资源
- 可用性
- 可扩展性:垂直扩展、水平扩展
-
分布式选举:从多个节点中选出一个主节点
- Bully
- Raft
- ZAB
-
分布式共识:PoW、PoS、DPoS
-
分布式事务
- 事务的基本特性ACID:原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability
- BASE理论:基本可用Basically Available、柔性状态 Soft State、最终一致性 Eventual Consistency
- XA二阶段提交、三阶段提交、基于分布式消息的最终一致性
-
分布式互斥
- 在分布式系统里,排他性的资源访问方式叫做分布式互斥,而这种被互斥访问的共享资源叫做临界资源(Critical Resource)
- 集中式算法:一个协调者代表中央服务器
- 民主协商:分布式算法
- 轮值CEO:令牌环算法
-
分布式锁
- 基于数据库
- 基于缓存
- ZK
-
分布式体系结构
- 集中式:Master/Slave结构
- 非集中式:Akka、redis、cassandra;Gossip协议
-
分布式调度架构
- 单体调度
- 两层调度:Mesos
- 共享状态调度
-
分布式计算模式
- MR:hadoop
- Stream:storm
- Actor:akka
- 并行计算:流水线计算模式
-
分布式通信
- 远程调用:RPC、RMI,Dubbo
- 发布订阅:Kafka
- 消息队列:RocketMQ
-
CAP理论
- 一致性 Consistency、可用性 Availability、分区容错性 Partition Tolerance
- CA模式即单机应用、CP模式强一致性、AP模式最终一致性
-
分布式数据存储
- 数据分片(区别数据分区)
- 数据复制
- mysql binlog
- 同步、异步、半同步
- 结构化数据、半结构化数据KV、非结构化数据
- 数据分布方式:哈希、一致性哈希
-
分布式缓存:Redis
-
分布式高可靠
- 负载均衡:请求负载均衡、数据负载均衡
- 流量控制:网络协议中的滑动窗口,漏通、令牌桶
- 故障隔离:线程、进程、容器、集群、资源
- 故障恢复