一 分布式系统
1 定义: 多节点
互相连通
协调工作
2 意义: 升级单机能力性价比不高
单机能力有瓶颈
单机存在宕机风险
二 基础知识
1 冯·诺依曼模型: 程序控制 程序存储
输入设备 输出设备 控制器 运算器 存储器
2 线程与进程: 线程是进程的子集
3 多线程的交互模式:互不通信
共享容器协同
事件协同
4 单机与多机 单线程与多线程 单进程与多进程
三 网络通信
BIO 阻塞 服务端一个线程对应一个请求
NIO Reactor分发 单线程处理多个请求
AIO
四 单机扩展到分布式
1 输入设备的变化: 节点与节点间
传统意义上的人机交互
2 输出设备的变化: 节点与节点间
传统意义上的人机交互
3 控制器 运算器 存储器: 负载均衡(硬件)
名称服务 :收集提供服务的服务器地址并提供给请求发起者
规则服务:只与请求发起者直连
Master+Workers:Master节点管理任务
五 分布式系统难点
1 缺乏全局时钟
2 面对故障独立性
3 处理单点故障:单点集群化 单点备份 降低单点故障范围(拆分数据库)
4 事务的挑战:两阶段提交 最终一致 BASE CAP Paxos