基于memcached和redis协议的轻量级代理 - twemproxy

2012-02-23      7071      C语言
项目简介

twemproxy(音同“two-em-proxy”),又名nutcracker,是一个快速的轻量级代理,基于memcached和redis协议。它的建立主要是为了减少后端的缓存服务器的连接数。因此你可以利用它横向扩展你的分布式缓存架构。

主要特点:

  • 快捷
  • 轻量级
  • 持久的服务器连接
  • 保持后端缓存服务器上的连接数
  • 允许请求和响应的流
  • 支持多服务器代理
  • 支持多个服务器池
  • 自动在多个服务器共享数据
  • 实现了完整的ASCII 和redis协议
  • 使用一个YAML文件服务池更易于配置
  • 支持多个散列模式,包括一致的散列和分布
  • 可以配置为禁用故障上的节点
  • 通过统计暴露在检测端口上的可观性
  • 适用于Linux,*BSD,OS X和SmartOS(Solaris)

构建方法:

从分布的文件构建twemproxy:

$ ./configure
$ make
$ sudo make install

debug模式从分布文件构建twemproxy:

$ CFLAGS="-ggdb3 -O0" ./configure --enable-debug=full
$ make
$ sudo make install

从源代码构建调试日志构建 twemproxy ,启用断言:

$ git clone git@github.com:twitter/twemproxy.git
$ cd twemproxy
$ autoreconf -fvi
$ ./configure --enable-debug=full
$ make
$ src/nutcracker -h