Skip to content

(Obsolete)A local running, process-distributed KV store for learning purposes based on replica state machine(RSM) cluster which implements raft consensus algorithm in a fully asynchronous way.

License

Notifications You must be signed in to change notification settings

hwding/rafty-kv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rafty-kv


A local running, process-distributed KV store for learning purposes based on replica state machine(RSM) cluster which implements raft consensus algorithm in a fully asynchronous way.

Introduction

Implementation

Using netty's event-driven udp for async communication among nodes inside the cluster.

Related readings

Progress

Finished

  • Leader election/reelection (without restriction)
  • Log replication
  • Persisted states & recovery

Ongoing

  • Safety
  • Client interaction
  • Log compaction

Todo

  • Cluster membership changes
  • Leadership transfer extension

How-To

Node start up argument

[current node port] [other node ports ...]

e.g.
(node 0) 8080 8081 8082 8083 8084
(node 1) 8081 8080 8082 8083 8084
(node 2) 8082 8080 8081 8083 8084
(node 3) 8083 8080 8081 8082 8084
(node 4) 8084 8080 8081 8082 8083

Cluster/Node global configuration

Configuration will be auto loaded from resource path.

Specifying conf file in startup argument is currently not supported, for that using different configurations among nodes is not suggested.

Default conf: rafty-node.properties

About

(Obsolete)A local running, process-distributed KV store for learning purposes based on replica state machine(RSM) cluster which implements raft consensus algorithm in a fully asynchronous way.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages