This is a Redis Cluster Controller to control the state of the cluster nodes and provide http api and tools(both command line and web ui).
It is production-ready and used at baidu.com, with a scale of 1500+ machines.
The system should be used conbining with https://github.com/ksarch-saas/redis
and https://github.com/ksarch-saas/r3proxy
:
- Multi-IDC Support, every node has a tag, never elect node in a backup region as master.
- Replication via siblings, do partial resync from new master if it is our sibling.
- Builtin web console and command line tools for realtime monitor and control.
- Configurable read preferences, you can read from primary, primary_preferred or neareat region.
- Global failover constraint, if many many clusters deploy on the same machine pool, two clusters will never exec failover jobs at the same time.
- Slot rebalance.
- Cluster configuration convergence, topology of cluster maintained by redis cluster nodes