https://youtu.be/cQP8WApzIQQ
概念
- 为什么需要分布式系统?
- high performance
- parallelism:分布式系统可以实现CPU、内存、硬盘的并行运行
- fault tolerance
- physical:
- security / isolated
- 分布式系统的困难
- concurrency:各个并行的部分之间的complex interactions以及各种时间依赖的事务
- partial failures
- high-performance
Implement
implementation
RPC(remote procedure call)、threads、concurrency control、etc.
performance
- scalability:
lab1----MapReduce
MapReduce的工作原理
统计单词出现次数
建立倒排索引
MapReduce的架构
- master做为用户的代理做一些特殊的工作:如给split worker分配数据,让reduce worker去拿切分好的数据等。解放用户
- 每个split worker在本地将数据切分开放在本地的缓存或硬盘上
- reduce worker拿到split的结果之后,在本地做完reduce,将结果写到最终的文件final file