Distributed Key-Value Store
This project implements a distributed, linearizable key-value store.
Key Features
- Raft Consensus: Built from scratch to handle leader election and log replication.
- gRPC API: High-performance communication between nodes.
- Persistence: Custom storage engine based on append-only logs.
func (s *Server) Put(key string, value string) error {
// Propose to Raft log
return s.raft.Propose(Command{Op: "Put", Key: key, Value: value})
}