StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. Caching
  4. Memcached Tools
  5. McRouter vs twemproxy

McRouter vs twemproxy

OverviewComparison

Overview

twemproxy
twemproxy
Stacks14
Followers31
Votes4
GitHub Stars12.3K
Forks2.1K
McRouter
McRouter
Stacks20
Followers64
Votes0
GitHub Stars3.3K
Forks550

McRouter vs twemproxy: What are the differences?

Introduction

Both McRouter and twemproxy are proxy servers that are commonly used with Memcached and Redis. They provide features such as connection pooling, load balancing, and routing for distributed applications. However, there are several key differences between the two.

  1. Sharding: McRouter supports automatic sharding, where data is automatically partitioned across multiple cache instances. This allows for efficient scaling and distribution of data. On the other hand, twemproxy does not support automatic sharding. It requires manual sharding of data, which can be more complex and time-consuming to manage.

  2. Protocol Support: McRouter supports both Memcached and Redis protocols, making it versatile for applications that use either of these caching systems. Twemproxy, on the other hand, only supports the Memcached protocol. This means that applications using Redis cannot be directly supported by twemproxy.

  3. Routing: McRouter provides advanced routing capabilities, allowing for complex routing logic based on various parameters such as the key, data type, and routing rules. It can route requests to different cache pools based on these parameters, providing flexibility in managing application data. Twemproxy, on the other hand, provides simple round-robin routing, where requests are evenly distributed across cache instances without considering any specific parameters.

  4. Flexible Configuration: McRouter offers a more flexible configuration compared to twemproxy. It supports dynamic configuration updates, allowing changes to be made on the fly without requiring a restart. Twemproxy, on the other hand, requires a restart to apply configuration changes, which can result in downtime for applications.

  5. Monitoring and Metrics: McRouter provides built-in monitoring and metrics capabilities, allowing for easy monitoring of cache health, request rates, and other performance metrics. It also integrates with external monitoring systems such as Graphite and StatsD. Twemproxy, on the other hand, does not provide built-in monitoring or metrics capabilities. External tools or custom monitoring solutions must be used to monitor its performance.

  6. Development and Community: McRouter is actively developed and maintained by Facebook, a large technology company with significant resources and expertise. It has a vibrant community and regular updates, ensuring that it stays up to date with the latest features and improvements. Twemproxy, on the other hand, is an open-source project maintained by Twitter. While it has a dedicated user base, the development and updates may not be as frequent as McRouter.

In summary, McRouter and twemproxy have several key differences. McRouter supports automatic sharding, both Memcached and Redis protocols, advanced routing, flexible configuration updates, built-in monitoring and metrics, and has a strong development community. On the other hand, twemproxy requires manual sharding, only supports Memcached protocol, provides simple round-robin routing, requires restart for configuration changes, lacks built-in monitoring, and may have less frequent updates.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

twemproxy
twemproxy
McRouter
McRouter

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.

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.

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)
Memcached ASCII protocol;Connection pooling;Multiple hashing schemes;Prefix routing;Replicated pools;Production traffic shadowing;Online reconfiguration;Flexible routing;Destination health monitoring/automatic failover;Cold cache warm up;Broadcast operations;Reliable delete stream;Multi-cluster support;Rich stats and debug commands;Quality of service;Large values;Multi-level caches;IPv6 support;SSL support
Statistics
GitHub Stars
12.3K
GitHub Stars
3.3K
GitHub Forks
2.1K
GitHub Forks
550
Stacks
14
Stacks
20
Followers
31
Followers
64
Votes
4
Votes
0
Pros & Cons
Pros
  • 4
    Scalable for Caches
No community feedback yet
Integrations
Memcached
Memcached
Redis
Redis
Memcached
Memcached
HHVM (HipHop Virtual Machine)
HHVM (HipHop Virtual Machine)

What are some alternatives to twemproxy, McRouter?

No alternatives found.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase