4臺 redis 伺服器
172.16.1.37:6379 - 1
172.16.1.36:6379 - 2
172.16.1.35:6379 - 3
172.16.1.34:6379 - 4
安裝 autoconf
centos 7 yum 安裝既可, autoconf 版本必須 2.64以上版本
yum -y install autoconf
安裝 twemproxy
git clone https://github.com/twitter/twemproxy.git
autoreconf -fvi #生成configure檔案
./configure --prefix=/opt/local/twemproxy/ --enable-debug=log
make && make install
mkdir -p /opt/local/twemproxy/{run,conf,logs}
ln -s /opt/local/twemproxy/sbin/nutcracker /usr/bin/
cd /opt/local/twemproxy/conf/
vi nutcracker.yml #編輯配置檔案
---------------------------------------------------------------------------------------
alpha:
listen: 172.16.1.37:6380 #監聽埠
hash: fnv1a_64 #key值hash演算法,預設fnv1a_64
distribution: ketama #分佈演算法
#ketama一致性hash演算法;modula非常簡單,就是根據key值的hash值取模;random隨機分佈
auto_eject_hosts: true #摘除後端故障節點
redis: true #是否是redis快取,預設是false
timeout: 400 #代理與後端超時時間,毫秒
server_retry_timeout: 200000 #摘除故障節點後重新連線的時間,毫秒
server_failure_limit: 1 #故障多少次摘除
servers:
- 172.16.1.34:6379:1
- 172.16.1.35:6379:1
- 172.16.1.36:6379:1
- 172.16.1.37:6379:1
---------------------------------------------------------------------------------------
nutcracker -t -c /opt/local/twemproxy/conf/nutcracker.yml #檢查配置檔案是否正確
nutcracker -d -c /opt/local/twemproxy/conf/nutcracker.yml -p /opt/local/twemproxy/run/redisproxy.pid -o /opt/local/twemproxy/logs/redisproxy.log