Redis學(xue)習筆(bi)記(ji)~Twenproxy所起到的(de)作(zuo)用
Twenproxy除了可以作為redis的代理,它同樣支持memerycached。我這里主要了解Twemproxy在redis集群上的解決方案。Twemproxy除了完美的解決了分片,路由等功能(同樣采用了一致性hash算法) Twenproxy實(shi)現redis集群高可用 它支持node ejection,如果使用redis當緩存,不是很注重數據的一致性的話,開(kai)啟node ejection可以在集群中(zhong)某一臺(tai)redis掛掉(diao)的時候將其送(song)集群列表中(zhong)移(yi)除(chu),達到高(gao)可用性。
如果redis集群做為數據存儲的話,或者很注重數據的一致性,則可以禁用node jection,但此時需要使用redis sentiel實現高可用性。
TW結構圖
安裝TW的方法
安裝
$ git clone git@github.com:twitter/twemproxy.git $ cd twemproxy $ autoreconf -fvi $ ./configure --enable-debug=log $ make
修改配置
# cd /usr/local/src/nutcracker-0.3.0/conf # cp nutcracker.yml /etc/ # vim /etc/nutcracker.yml alpha: listen: 192.168.128.128:22121 hash: fnv1a_64 distribution: ketama auto_eject_hosts: true redis: true server_retry_timeout: 2000 server_failure_limit: 1 servers: --兩臺redis服務器的地址和端口(kou) - 192.168.2.1:6379:1 - 192.168.2.2:6379:1
測試一(yi)下它(ta)的配置文件 conf是否有問題
# nutcracker -t /etc/nutcracker.yml
然后啟動服務
# nutcracker -d -c /etc/nutcracker.yml
查看它(ta)的進程是否已經存在(zai)
ps -ef|grep nutcracker
測試可(ke)以使用redis-cli這個工具去(qu)連(lian)接22122端口完成(cheng)。
以(yi)后在進行redis連接時(shi),就直接填(tian)寫tw的地址和端口就行了。