Skip to content

xiaonanln/lockd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lockd

Distributed Locking Service

Raft and replicated state machines

Lockd uses Raft to implement replicated state machines. The locking service is a state-machine that handle client inputs in a determined way. So, 3 or 5 locking service instances consist a cluster to offer high availability.

Implementing Raft Features

Most of Raft features will be implemented.

  • Basic Raft Algorithm

    • Leader election
    • Log replication
    • Safety
    • Persisted state (won't have)
    • Server restarts
    • Leader transfer extension
  • Cluster membership changes

  • Log compaction

    • Memory-Based Snapshots (partly)
  • Client interaction

    • Finding the cluster
    • Routing requests to the leader
    • Implementing linearizable semantics
    • Processing read-only queries more efficiently

Raft-tester

The raft-tester is used to test the correctness in simulation. Raft-tester runs multiple Raft Clusters to test the correctness of Raft algorhtm with different values of quorum.

About

Distributed Locking Service -- under development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published