eleme/corvus
FreeA fast and lightweight Redis Cluster Proxy for Redis 3.0
About eleme/corvus
Corvus is a fast and lightweight Redis Cluster Proxy designed for Redis 3.0 with cluster mode enabled. It was developed by eleme to overcome limitations of twemproxy, such as dependency on Sentinel for high availability, service interruptions when adding or removing backend instances, and single-threaded performance bottlenecks. Corvus offers multi-threading, reuseport support, pipeline support, integration with Statsd and Syslog, and the ability to direct read operations to slave nodes, enabling painless upgrades from twemproxy to official Redis Cluster. It supports all single-key commands, splits batch commands into individual operations, and handles multi-key commands when keys reside on the same node.
Key Features
Pros & Cons
- Multi-threaded for better CPU utilization compared to single-threaded proxies
- Lightweight and fast with low latency
- Supports pipeline and reuseport for performance
- Seamless upgrade from twemproxy
- Read from slaves to offload master nodes
- Integration with Statsd and Syslog for observability
- Only supports Redis 3.0+ with cluster mode enabled (not older versions or standalone Redis)
- Multi-key commands limited to keys on the same node
- Some commands (KEYS, etc.) are unsupported due to cluster constraints
- Requires Linux kernel 3.9 or later