Git Product home page Git Product logo

mit6.824-java's Introduction

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 以及测试

mit6.824-java's People

Contributors

razertory avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mit6.824-java's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.