nutcracker - Fast, light-weight proxy for memcached and Redis
nutcracker, also known as twemproxy (pronounced
"two-em-proxy"), is a fast and lightweight proxy for the memcached
and Redis protocols.
It was primarily built to reduce the connection count on backend
caching servers, but it has a number of features, such as:
- •
- Maintains persistent server connections to backend servers.
- •
- Enables pipelining of requests and responses.
- •
- Supports multiple server pools simultaneously.
- •
- Shard data automatically across multiple servers.
- •
- Supports multiple hashing modes including consistent hashing and
distribution.
- •
- High-availability by disabling nodes on failures.
- •
- Observability through stats exposed on stats monitoring port.
- -h, --help
- Show usage information and exit.
- -V, --version
- Show version and exit.
- -t, --test-conf
- Test configuration for syntax errors and exit.
- -D, --describe-stats
- Print stats description and exit.
- -v, --verbose=N
- Set logging level to N. (default: 5, min: 0, max: 11)
- -o, --output=filename
- Set logging file to filename.
- -c, --conf-file=filename
- Set configuration file to filename.
- -s, --stats-port=port
- Set stats monitoring port to port. (default: 22222)
- -a, --stats-addr=address
- Set stats monitoring IP to address. (default: 0.0.0.0)
- -i, --stats-interval=interval
- Set stats aggregation interval in msec to interval. (default: 30000
msec)
- -m, --mbuf-size=size
- Set size of mbuf chunk in bytes to size. (default: 16384
bytes)
- -d, --daemonize
- Run as a daemon.
- -p, --pid-file=filename
- Set pid file to filename.
memcached(8), redis-server(1)
nutcracker was written by Twitter, Inc.