finds.dev← search

// the find

CodisLabs/codis

★ 13,227 · Go · MIT · updated Apr 2024

Proxy based Redis cluster solution supporting pipeline and scaling dynamically

Codis is a Go proxy layer that sits in front of Redis and handles sharding, slot migration, and scaling without requiring Redis Cluster-aware clients. It was built and battle-tested at scale by a Chinese tech company (Wandoujia). For teams that need horizontal Redis scaling but can't or won't migrate to Redis Cluster — particularly because they need pipeline support — this was a solid answer.

Pipeline support during resharding is the real differentiator: Redis Cluster drops pipeline support, Codis doesn't. The architecture is clean — separate proxy, dashboard, and fe binaries with ZooKeeper/etcd for coordination, which means proxies are stateless and horizontally scalable. Ansible playbooks and a GUI dashboard are included, which is unusual for infrastructure tooling of this era. The comparison table in the README is honest and actually useful.

The project is effectively dead — last meaningful activity was 2024 and the English docs are still marked WIP years later. Redis Cluster has closed the gap on the key reasons to use this (pipeline support improved, client libraries are widespread now), so the tradeoff calculus has shifted. ZooKeeper/etcd as a hard dependency adds operational overhead that most teams will feel immediately. It ships node_modules committed directly to the repo, which is a sign of how dated the project's practices are.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →