eleme/corvus logo

eleme/corvus

Free

A fast and lightweight Redis Cluster Proxy for Redis 3.0

FreeFree tier
Type
Open Source
Company
eleme

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

Fast and lightweight proxy for Redis Cluster
Multi-threaded architecture for high throughput
Reuseport support for efficient connection handling
Pipeline support to batch commands
Statsd and Syslog integration for monitoring
Can direct read operations to slave nodes
Painless upgrade path from twemproxy to Redis Cluster
Supports all single-key Redis commands
Splits batch commands (MGET, MSET, DEL, EXISTS) into individual commands
Handles multi-key commands when keys belong to the same node

Pros & Cons

Pros
  • 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
Cons
  • 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

Best For

Migrating from twemproxy to official Redis Cluster without service interruptionDeploying a high-availability Redis Cluster proxy for multi-language client environmentsScaling Redis infrastructure with a lightweight, multi-threaded proxyCentralizing monitoring of Redis Cluster with Statsd and Syslog integration

FAQ

What is Corvus?
Corvus is a fast and lightweight Redis Cluster Proxy for Redis 3.0 with cluster mode enabled, developed by eleme to replace twemproxy.
What are the key advantages over twemproxy?
Corvus is multi-threaded, supports reuseport and pipeline, integrates with Statsd and Syslog, allows painless upgrade to Redis Cluster, and can direct reads to slaves without restarting for topology changes.
What commands are supported?
All single-key commands are supported. Batch commands like MGET, MSET, DEL, EXISTS are split into individual commands. Multi-key operations (e.g., SORT, ZINTERSTORE) are supported only if all keys belong to the same node. Commands like KEYS are unsupported.
Does Corvus support authentication?
Yes, Corvus supports the AUTH command for proxy-level authentication.
What are the system requirements?
Requires Linux kernel 3.9 or later and Redis 3.0.7 or higher (with cluster mode enabled).