课程:
MIT 6.824: Distributed Computer Systems Engineering——经典和详细的介绍了分布式系统的技术和工程实现经验,值得每个做分布式系统的人去看一遍,继续锤炼和提高自己的眼界和技术。
补充三篇论文:
1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文。
2. The Chubby lock service for loosely-coupled distributed systems,
http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/chubby-osdi06.pdf,这篇论文详细介绍了Google的
分布式锁实现机制Chubby。Chubby是一个基于文件实现的
分布式锁,Google的Bigtable、Mapreduce和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础,具有非常高的参考价值。另外,著名的zookeeper就是基于Chubby的开源实现,但是根据在Google工作的朋友讲,zookeeper跟Chubby在性能和功能上都还有差距。
3. Spanner: Google's Globally-Distributed Database,这个是第一个全球意义上的分布式数据库,也是Google的作品。其中介绍了很多一致性方面的设计考虑,为了简单的
逻辑设计,还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义。