Skip to content
/ dss Public

Distributed Systems in Rust, including Raft and Percolator implement

Notifications You must be signed in to change notification settings

czccc/dss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Systems in Rust

This project is followed with Talent Plan from PingCAP University. Origin README can find here

Project Workspaces

Feature

  • similar with MIT 6.824 but rewrite all test code in Rust by Talent Plan
  • writen with pure Rust and ProtoBuf protocol
  • use prost to parse ProtoBuf message
  • use log and env_logger as log format
  • largely use futures and tokio to achieve asynchrony

Progress:

  • Raft (lab 2)
    • 2A: leader election and heartbeat
    • 2B: log entry and append entries
    • 2C: persist and unliable network
    • All tests passed
  • KvRaft (lab 3)
    • 3A: server/client query
    • 3B: log compaction and install snapshot
    • All tests passed
  • Percolator
    • Server: TimestampOracle
    • Server: KvTable and MemoryStorage
    • Server: Get, Prewrite, Commit
    • Client: Set, Get, Commit
    • All tests passed

TODO

  • Raft and KvRaft
    • add more comment
    • prune some condition to make program clear
  • Percolator
    • improve 2PC logic
    • improve lock conflict and back-off/roll-forward

About

Distributed Systems in Rust, including Raft and Percolator implement

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published