Skip to content

Latest commit

 

History

History
27 lines (16 loc) · 1.18 KB

README.md

File metadata and controls

27 lines (16 loc) · 1.18 KB

MIT6.824-Java

MIT6.824 Java 版

MIT 的 6.824 课程是一门非常经典的分布式系统课程。当前版本的课程是由 Go 完成,在这之前是 C++。

同样是服务端编程语言,Java 更加流行,会的人也更多。如此看来,如果能有一个 Java 版的课程作业可供学习挑战,收益人应该还会更多。加上 Java 有更加丰富的并发编程库,这样也许能看到更多有意思的代码。

实现的功能分为三个模块

  • MapReduce
  • Raft
  • RaftKV

和原版一样,由于作业是在模拟分布式环境,因此不同的物理节点在作业中是用不同的 Java 进程来表示。节点之间的通信是基于 Netty 实现的 RPC。项目是一个标准的 maven 工程。其中 common 里面是一些公用的 bean 和 rpc 实现。mapreduce,raft 和 raftkv 是三个不同的模块,之间没有依赖关系。每个模块只需要通过测试代码即可。

注:该项目在开发中。所有的进度和相关资料在我的 notion 分享页中可以看到。

目前完成了

  • RPC 框架,在 common 包里
  • MapReduce 以及测试