Introduction
1.什么是分布式系统?
- 核心:通过网络使一群计算机通过相互通信来完成一些连贯的任务。
- 例子:存储为大网站或者大数据计算(MapReduce)以及点对点文件共享等等
- 原因:许多关键的基础设施是分布式的
2.为什么人们要构建分布式系统?(以此获得更高的性能)
- 通过并行增加容量(Parallelism)
- 通过复制来容忍错误(fault tolerance)
- 使计算物理上接近外部实体(Physical)
- 通过隔离实现安全(security / isolated)
困难: - 并发编程和复杂的交互带来的各种问题(concurrency)
- 故障模式、局部故障(partial failure)
- 难以实现的性能潜力(performance)
3.实验
- 实验1:MapReduce
- 实验2:使用Raft进行容错复制
- 实验3:容错键/值存储(K/V server)
- 实验4:分片键/值存储(Shared K/V service)<