、
一、引子
1、分布式系统的潜在问题
2、课程的相关实验论文
3、分布式系统设计的基础系统
存储、通信、计算(计算例如Map-Reduce框架)
目标特征
实现手段
RPC,threads,concurrency,lock
3、性能
scalability可扩展性
(分布式系统–web服务器和DB服务器集群)
4、容错性
fault tolerance
目标特征
实现手段
NV storage ,non-volitle storage,非易失性存储(例如RAM)
5、一致性问题
简单版本的存储系统两种基础的操作,put(k,v)get(k)
client1往server1中改了值,而正要往server2中同步时候,就断电了,早餐了脏读
强一致性(要实现代价很大)和弱一致性
二、Map-Reduce框架
google开发,最早论文追溯2004年
下链接是知乎一篇介绍
https://zhuanlan.zhihu.com/p/62135686
以一个简单统计输入的字符个数为例。
INPUT 1 输入的是 a,1 、b,1
INPUT 2 输入的是 b,1
INPUT 3 输入的是 a,1 、 c,1
最后会统计到a,2 b,2 c,1
整个计算称之为任务Job,组成其中的任何一个Map、Reduce称为Task,
从一个Map函数来具体实现Map的统计单个的个数功能
从一个Reduce函数统计整体的个数功能