Implementing a distributed key-value store on top of implementing Raft in Go

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. etcd

    Distributed reliable key-value store for the most critical data of a distributed system

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. automat

    Self-service finite-state machines for the programmer on the go.

    Sounds like a job for state machines like you can build out with a library like xstate[0] (though I'm sure there are similar libraries in whatever language you choose. Python has one called automat[1])

    These exist to formalize state logic, you can even produce diagrams based on their definitions

    [0]: https://stately.ai/docs/xstate

    [1]: https://github.com/glyph/Automat

  4. coyote

    Coyote is a library and tool for testing concurrent C# code and deterministically reproducing bugs.

    Microsoft has a library/tool called Coyote* that helps with testing distributed systems; you can write tests/specifications, Coyote will systematically explore nondeterminism in your system and check if your tests still pass. If there's a failure, it'll show the sequence of events that led to the failing test.

    I started a project to implement Raft with a KV-store on top, similar to the article, meaning to use Coyote to test it; I didn't get that far before losing interest, though. It's reassuring to read that it took Phil several months to write the code in the post, it's good to know that this is a decidedly nontrivial problem.

    * https://github.com/microsoft/coyote

  5. tikv

    Distributed transactional key-value database, originally created to complement TiDB

  6. raft

    Golang implementation of the Raft consensus protocol

    I have found the performance tests very tricky to get to pass without having any input from others. The assignment is really very unforgiving, I would wager the test suite is comparable to how commercial Raft implementations are tested (e.g. https://github.com/hashicorp/raft)

  7. Sevalla

    Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!

    Sevalla logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Fault Tolerance in Distributed Systems: Strategies and Case Studies

    4 projects | dev.to | 18 Oct 2023
  • Running 2 web apps in one application using Go Routines

    2 projects | /r/golang | 30 Jan 2023
  • Apache ShardingSphere Enterprise Applications — Bilibili

    4 projects | dev.to | 9 Jun 2022
  • StepFun Built an Efficient and Cost-Effective LLM Storage Platform with JuiceFS

    1 project | dev.to | 31 Jul 2025
  • A Complete Guide to etcd: The Distributed Key-Value Store Powering Cloud Infrastructure

    4 projects | dev.to | 25 Jul 2025

Did you know that Go is
the 4th most popular programming language
based on number of references?