加载中...

Twemproxy(项目名 nutcracker)是 Twitter 于 2012 年开源的轻量级代理,位于应用与缓存集群之间,支持 Redis 与 Memcached 两种协议,用 C 语言编写,单进程事件驱动。
应用把它当成单个缓存节点访问,Twemproxy 按配置的哈希算法(支持 ketama 一致性哈希等)将键路由到后端多个实例,实现透明分片;同时把多个客户端连接复用为少量后端长连接(connection pooling/pipelining),显著降低后端连接数与请求开销。
它是无状态静态分片方案:不支持在线扩缩容时的数据迁移,节点变更需借助一致性哈希尽量减少键漂移;部分多键命令与事务、发布订阅等 Redis 功能不支持;代理本身可能成为单点,需要多实例加负载均衡部署。
在 Redis Cluster 成熟之前,Twemproxy 是最主流的 Redis 分片方案之一;如今新系统多用 Redis Cluster 或云托管服务,但它仍活跃于大量存量架构中。

登录 后参与讨论
暂无讨论,来发表第一条评论吧