MIT 2012分布式课程基础源码解析一-源码概述
课程介绍:本课程会在给出的源码的基础上要求完成8个lab
Lab overview
Lab 1 - Lock Server
Lab 2 - Basic File Server
Lab 3 - MKDIR, UNLINK, and Locking
Lab 4 - Caching Lock Server
Lab 5 - Caching Extent Server + Consistency
Lab 6 - Paxos
Lab 7 - Replicated lock server
Lab 8 - Project
本课程使用C++实现,为什么选择2012年的呢?由于从2013年开始,该课程使用go语言实现,而自己也懒得去学习go语言。且该课程的源码实现技巧性十足,课程内容也挺丰富。
给出的源码目录如下:
其中rpc文件夹下:
本系列博客会先将讲解给出的源码,然后讲述我在做这8个lab的实现
主要有以下内容:
- 线程池实现
- 事件管理封装,主要是对事件函数(epoll, select)进行封装的内容
- rpc底层通讯类
- RPC原理
- RPC实现
- lab实现系列