CentOS-7下Redis分区的实现方案(二)
Twemproxy
1.Twemproxy 简介
Twemproxy 也叫 nutcraker。是 Twtter 开源的一个 Redis 和 Memcache 代理服务器,主要用于管理 Redis 和 Memcached 集群,减少与缓存服务器直接连接的数量。
2.Twemproxy 的特点
- 快速
- 轻量级
- 保持长连接
- 减少与缓存服务端的连接数
- 支持pipelining 请求和响应
- 支持代理到多台服务器
- 支持多个服务器池
- 自动分片数据到多个服务器上
- 实现完整的 memcached ascii 和redis 协议
- 通过 yaml 文件配置服务器池
- 支持多个哈希模式,包括一致性哈希和分布
- 能够配置删除故障节点
- 可以通过端口监控状态
-支持 Linux, *BSD, OS X and SmartOS (Solaris)
Twemproxy 的安装
1.实验物料
Twemproxy(v0.4.1) 三台linux虚拟机 redis_5.0.8
2.安装过程
1.下载软件到服务器指定目录
我直接下载到soft目录下:
# wget https://gitee.com/jiangfuqiang/twemproxy/repository/archive/v0.4.1?format=tar.gz
2.解压到当前目录下
tar xf v0.4.1\?format\=tar.gz
3.安装 automake
yum install automake
4.安装 libtool
5.安装twemproxy
autoreconf -fvi
./configure
make
cd scripts/
cp nutcracker.init /etc/init.d/nutcracker
mkdir /etc/nutcracker
cd /soft/twemproxy/conf
cp ./* /etc/nutcracker/
cd /soft/twemproxy/src
cp nutcracker /usr/bin/
cd /etc/nutcracker/
cp nutcracker.yml nutcracker.yml.bak
vi nutcracker.yml
nutcracker.yml中的最简单配置
alpha:
listen: 192.168.15.22:12221
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- 192.168.15.20:6380:1
- 192.168.15.21:6380:1
- 192.168.15.22:6380:1
6.启动redis各个实例
7.启动nutcracker
service nutcracker start
8.验证
redis-cli -h 192.168.15.22 -p 12221
到此为止,我们就安装完成了。当然这还涉及到一个问题,这个时候我们的twemproxy还是个单机,存在单点故障问题,我们需要做高可用。这个以后有机会我们再一起探讨。