Skip to content

pradeesh-kumar/go-raft-kv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Raft-KV

The project go-raft-kv is a Distributed In-Memory Key-Value store implemented using Raft consensus algorithm.

Features

  • Leader Election
  • Log Replication
  • Leadership Transfer
  • Snapshot
  • Dynamic Membership & Configuration Change
  • Raft Client

Build Protobuf

cd server protoc raft/*.proto --go_out=. --go-grpc_out=. --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative --proto_path=. protoc kv/*.proto --go_out=. --go-grpc_out=. --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative --proto_path=.

Build App

go build server_main.go

Run

go run server_main.go -serverId node_1 -serverAddress localhost:7071 go run server_main.go -serverId node_2 -serverAddress localhost:7072 go run server_main.go -serverId node_3 -serverAddress localhost:7073

To run with verbose mode use the flag -v

References

About

A Distributed Key value store using Raft consensus algorithm

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages