天天看點

緩存代理twemproxy安裝測試

twemproxy的安裝要求autoconf的版本在2.64以上,需要先安裝新版autoconf

autoconf安裝

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
	cd ..      

twemproxy的安裝

git clone https://github.com/twitter/twemproxy.git
	autoreconf -fvi  #生成configure檔案
	./configure --prefix=/opt/twemproxy/ --enable-debug=log  
	mkdir -p /opt/twemproxy/{run,conf}  /data/logs/twemproxy/
	ln -s /opt/twemproxy/sbin/nutcracker /usr/bin/      

 vim conf/nutcracker.yml   #編輯配置檔案

alpha:
		listen: 172.16.175.106:6379    #監聽端口
		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.175.145:6379:1 
		- 172.16.175.122:6379:1 
		- 172.16.175.85:6379:1 
		- 172.16.175.168:6379:1      

nutcracker -t -c /opt/twemproxy/conf/nutcracker.yml  

#測試配置檔案 如果不加-c 預設是檢測conf/nutcracker.yml

nutcracker -d -c /opt/twemproxy/conf/nutcracker.yml -p /opt/twemproxy/run/redisproxy.pid -o /data/logs/twemproxy/redisproxy.log        #啟動

twemproxy測試

1.後端加機器會導緻部分key丢失,機器加的越多,丢失率越高

2.自動摘除故障機器是根據配置來的:server_retry_timeout 是失敗後間隔多少毫秒再連接配接;server_failure_limit 是失敗多少次摘除(有個問題,摘除故障節點後,分布到此節點的key會分布到其他節點,當故障節點恢複後,key還是重新分布到故障節點)

3.如果啟動多個nutcracker程序,需要-s指定監控端口,預設是22222

繼續閱讀