twemproxy logo

twemproxy

A fast, light-weight proxy for memcached and redis, by Twitter
14
31
+ 1
4

What is twemproxy?

twemproxy (pronounced "two-em-proxy"), aka nutcracker is a fast and lightweight proxy for memcached and redis protocol. It was built primarily to reduce the number of connections to the caching servers on the backend. This, together with protocol pipelining and sharding enables you to horizontally scale your distributed caching architecture.
twemproxy is a tool in the Memcached Tools category of a tech stack.
twemproxy is an open source tool with 12K GitHub stars and 2K GitHub forks. Here’s a link to twemproxy's open source repository on GitHub

Who uses twemproxy?

Companies
3 companies reportedly use twemproxy in their tech stacks, including Twitter, trivago, and Avito.

Developers
11 developers on StackShare have stated that they use twemproxy.

twemproxy Integrations

Pros of twemproxy
4
Scalable for Caches

twemproxy's Features

  • Fast.
  • Lightweight.
  • Maintains persistent server connections.
  • Keeps connection count on the backend caching servers low.
  • Enables pipelining of requests and responses.
  • Supports proxying to multiple servers.
  • Supports multiple server pools simultaneously.
  • Shard data automatically across multiple servers.
  • Implements the complete memcached ascii and redis protocol.
  • Easy configuration of server pools through a YAML file.
  • Supports multiple hashing modes including consistent hashing and distribution.
  • Can be configured to disable nodes on failures.
  • Observability via stats exposed on the stats monitoring port.
  • Works with Linux, *BSD, OS X and SmartOS (Solaris)

twemproxy Alternatives & Comparisons

What are some alternatives to twemproxy?
HAProxy
HAProxy (High Availability Proxy) is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
McRouter
Mcrouter is a memcached protocol router for scaling memcached deployments. It's a core component of cache infrastructure at Facebook and Instagram where mcrouter handles almost 5 billion requests per second at peak.
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
Dynomite
Dynomite is a generic dynamo implementation that can be used with many different key-value pair storage engines. Currently these include Redis and Memcached. Dynomite supports multi-datacenter replication and is designed for high availability.

twemproxy's Followers
31 developers follow twemproxy to keep up with related blogs and decisions.