Twemproxy做代理
Twemproxy可以做redis集群的代理,作为代理层,客户端可以直接连接,不用管具体有多少redis实例客户端。yum update nss可以用来解决git下载项目报Http请求错误的问题。
https://github.com/twitter/twemproxy 学习twemproxy,下载安装包,然后编译运行服务,在配置文件配置要代理的多个redis实例,以及权重的负载均衡。
1.git clone https://github.com/joyieldInc/predixy.git 下载到本地文件夹下 2.
autoreconf -fvi && ./configure needs automake and libtool to be installed
yum install automake和一个 libtool cd 到文件下执行 autoreconf -fvi 会出现configure的文件,然后执行make命令,make执行是编译的,编译完之后就一定会有可执行程序出现在src文件。 3. /root/soft/twemproxy/twemproxy/scripts下nutcracker.init
USER="nobody"
OPTIONS="-d -c /etc/nutcracker/nutcracker.yml"
cp nutcracker.init /etc /init.d/twemproxy,到你的etc /init.d/这个目录下
先chmod+x twemproxy 变成可执行文件
去/root/soft/twemproxy/twemproxy/conf下将 nutcracker.leaf.yml nutcracker.root.yml nutcracker.ymlmkdir 复制到/etc/nutcracker 下面,修改nutcracker.leaf.yml
alpha:
listen: 127.0.0.1:22121 监听端口号
hash: fnv1a_64 一致性哈希算法
distribution: ketama
auto_eject_hosts: true
redis: true 代理redis
server_retry_timeout: 2000
server_failure_limit: 1
servers: 代理的集群
- 127.0.0.1:6379:1000 ip 端口 权重值
- 127.0.0.1:6380:1
4.编译完的可执行程序放到/usr/bin下,可以作为一个服务起来了。
使用nutcracker
service twemproxy status 查看状态
service twemproxy start 启动
service twemproxy stop 停止
redis-cli -p 12121 连接代理客户端
可以执行set操作 会在redis实例找到set的数据,会根据配置文件设置的权重和代理机器查询;
对于客户端只需要直到代理即可。 代理将不同的key发送到不同的redis服务上 代理不能获取全量key、不能watch、不能开启事务
|