https://github.com/andrearcaina/hyperion
a distributed, reliable key-value database using Raft consensus algorithm
https://github.com/andrearcaina/hyperion
consensus distributed-database distributed-systems go key-value raft
Last synced: 15 days ago
JSON representation
a distributed, reliable key-value database using Raft consensus algorithm
- Host: GitHub
- URL: https://github.com/andrearcaina/hyperion
- Owner: andrearcaina
- License: mit
- Created: 2026-04-02T18:57:38.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-07T14:48:01.000Z (about 2 months ago)
- Last Synced: 2026-05-07T16:44:01.307Z (about 2 months ago)
- Topics: consensus, distributed-database, distributed-systems, go, key-value, raft
- Language: Go
- Homepage:
- Size: 53.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hyperion
a Raft-based distributed reliable key-value database
### Overview
now able to spin up multiple HTTP servers with their separate Raft node now
basically how it works is when you start a `hyprd` node, it will create a HTTP server and a Raft store (node)
the HTTP server will listen for incoming requests (either through `curl` or `hyprctl`) and forward them to Raft
Raft then records those requests as a log entry, sends them to other `hyprd` nodes, agrees on a majority and then applies/commits them to the underlying key-value database (BadgerDB)
for more information on Raft and distributed key value databases check out the [docs](docs/) page
### Roadmap
- [x] Create file structure
- [x] Get working DB and spin HTTP server with `hyprd`
- [x] Implement Raft for consensus between nodes (single node for now)
- [x] Add support for clustering and replication
- [x] Implement `hyprctl` CLI to interact with running `hyprd` nodes
- [ ] Add gRPC API support because why not
- [ ] Add Docker and Kubernetes support instead of just processes
- [x] Add documentations and useful things I learnt (upkeep as much as possible)