Skip to content

distributed, fault-tolerant, linearizable key-value storage based on Raft and Badger

License

Notifications You must be signed in to change notification settings

despondency/freya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Freya

is a distributed, fault-tolerant, linearizable key-value storage based on

  1. Raft https://github.com/lni/dragonboat
  2. Badger https://github.com/dgraph-io/badger

How to run

./start-cluster.sh

will start a 3 node local cluster.

Requests to get up and running

  1. Add an K/V entry
curl --location --request POST 'localhost:8081/put' \
--header 'Content-Type: application/json' \
--data-raw '{
    "k": ["hello"],
    "v": ["value"]
}'
  1. Retrieve an K/V entry
curl --location --request GET 'localhost:8082/get' \
--header 'Content-Type: application/json' \
--data-raw '{
    "k": ["hello"]
}'

TODO

  1. Maximize throughput by using multi-raft
  2. Create gRPC API
  3. Lower overall allocations
  4. Create benchmark suite
  5. Run 24/7 stress test

About

distributed, fault-tolerant, linearizable key-value storage based on Raft and Badger

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published