回到目錄 Twenproxy除了可以作為redis的代理,它同樣支持memerycached。我這裡主要瞭解Twemproxy在redis集群上的解決方案。Twemproxy除了完美的解決了分片,路由等功能(同樣採用了一致性hash演算法) Twenproxy實現redis集群高可用 它支持node ...
Twenproxy除了可以作為redis的代理,它同樣支持memerycached。我這裡主要瞭解Twemproxy在redis集群上的解決方案。Twemproxy除了完美的解決了分片,路由等功能(同樣採用了一致性hash演算法) Twenproxy實現redis集群高可用 它支持node ejection,如果使用redis當緩存,不是很註重數據的一致性的話,開啟node ejection可以在集群中某一臺redis掛掉的時候將其送集群列表中移除,達到高可用性。
如果redis集群做為數據存儲的話,或者很註重數據的一致性,則可以禁用node jection,但此時需要使用redis sentiel實現高可用性。
TW結構圖
安裝TW的方法
安裝
$ git clone [email protected]: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伺服器的地址和埠 - 192.168.2.1:6379:1 - 192.168.2.2:6379:1
測試一下它的配置文件 conf是否有問題
# nutcracker -t /etc/nutcracker.yml
然後啟動服務
# nutcracker -d -c /etc/nutcracker.yml
查看它的進程是否已經存在
ps -ef|grep nutcracker
測試可以使用redis-cli這個工具去連接22122埠完成。
以後在進行redis連接時,就直接填寫tw的地址和埠就行了。