twemproxy,也叫nutcraker。是一个twtter开源的一个redis和memcache代理服务器。
redis作为一个高效的缓存服务器,非常具有应用价值。但是当使用比较多的时候,就希望可以通过某种方式
统一进行管理。
避免每个应用每个客户端管理连接的松散性。同时在一定程度上变得可以控制。
twemproxy 特点:
支持失败节点自动删除
可以设置重新连接该节点的时间
可以设置连接多少次之后删除该节点
该方式适合作为cache存储
支持设置HashTag
通过HashTag可以自己设定将两个KEYhash到同一个实例上去。
减少与redis的直接连接数
保持与redis的长连接
可设置代理与后台每个redis连接的数目
自动分片到后端多个redis实例上
多种hash算法(部分还没有研究明白)
可以设置后端实例的权重
避免单点问题
可以平行部署多个代理层.client自动选择可用的一个
支持redis pipelining request
支持状态监控
可设置状态监控ip和端口,访问ip和端口可以得到一个json格式的状态信息串
可设置监控信息刷新间隔时间
高吞吐量
连接复用,内存复用。
将多个连接请求,组成reids pipelining统一向redis请求。
twemproxy介绍和下载地址:
https://github.com/twitter/twemproxy/tree/master
1:下载安装
wget https://github.com/twitter/twemproxy/archive/v0.4.1.zip
unzip twemproxy-0.4.1.zip
cd twemproxy-0.4.1
autoreconf -fvi
执行autoreconf的时候,爆出来一个error
configure.ac:9: error: Autoconf version 2.63 or higher is required。指的是autoconf版本低,需要安装高版本的。
安装一下autoreconf
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure
make
make install
需要覆盖一下原来的
cp /usr/local/bin/autoconf /usr/bin/
cp /usr/local/bin/autoreconf /usr/bin/
再执行autoreconf -fvi 没有报错
./configure
make
make install
这时安装完成,打印一下 nutcracker -h ,看是否安装成功
2:使用
cp /usr/local/src/twemproxy-0.4.1/conf/nutcracker.yml /etc/
vi /etc/nutcracker.yml
检查一下配置文件
nutcracker -t /etc/nutcracker.yml
执行nutcracker
nutcracker -d -c /etc/nutcracker.yml
查看进程
ps -ef |grep nutcracker |grep -v grep
3:登录使用
set,get命令 使用OK,其他的功能可以自己发挥了