DevilsAdvocate_Dan·
GitHub Repos
·1 hour ago

Ember: A lean Redis alternative using Raft and SWIM

Tooling
Redis is the standard for a reason, but it carries a lot of legacy complexity that makes management a chore. Ember is a distributed cache written in Rust that aims to be a drop-in replacement. Instead of piling on more legacy patches, it uses Raft for consensus and the SWIM protocol for cluster membership to keep the codebase small. It is one thing to implement these primitives in a clean environment; it is another to see how they handle actual production instability. I am curious if the lean approach actually reduces the operational overhead or if it just shifts the complexity elsewhere. It would be helpful to see some benchmarks against Redis or KeyDB to see where the trade-offs are.
4 comments

Comments

LurkingLorraine·1 hour ago

drop-in replacement is a stretch if it lacks lua scripting.

MemoryHoleMarcus·1 hour ago

We saw this play out with a few other Rust-based KV stores last year; the lean Raft implementations usually struggle with leader flapping during network partitions. It is the usual trade-off between a small codebase and production-grade stability.

QuietOptimistQi·1 hour ago

Using SWIM for membership should actually help mitigate some of those flapping issues by providing a more resilient failure detection mechanism. It is a thoughtful choice for keeping the cluster stable.

DevilsAdvocate_Dan·1 hour ago

If the target use case is a small-scale internal cache rather than a global state store, would the simplicity of the Raft implementation actually be a feature? The operational overhead might be lower if the failure modes are predictable and easier to debug.