git地址:
https://github.com/twitter/twemproxy
下載,安裝:
配置:
配置文件所在目錄:
修改/conf/nutcracker.yml里面的配置參數,即可啟動即可。
配置解釋:
hash:hash函數
distribution:hashkey的分布式模式
ketama
modula
random
redis_auth: 代理連接hash環中redis服務器的密碼
redis:true代表連接的是redis集群
server_connections:與各個redisserver可打開建立的最大連接數
auto_eject_hosts: 是否在節點無法響應時,臨時摘除節點
server_retry_timeout:連接redis-server重試時間
server_failure_limit: 當auto_eject_hosts設置為true,redisserver連續幾次訪問失敗,
將會被臨時摘除
server_retry_timeout 設置過小的話,將導致我的redis請求經常被指到失敗的那個節點上。
tweproxy 根據實驗結果 是支持 節點出問題時,自動摘除,恢復后,根據server_retry_timeout恢復的
配置的詳細解釋,可見github
啟動:
查看幫助:
tweproxy常見架構:
公司tweproxy配置以及架構:
3臺62g內存的服務器,每臺起3個redis節點,一個tweproxy節點,每臺tweproxy節點都hash方式到這三臺所有的redis節點上。
公司的啟動方式帶著監控端口號,監控輸出如下:
另外,tweproxy連接redis實例時,需要注意安全屬性的配置,如redis實例中的bind,protected-mode,以及authpassword,如果這三樣都沒設置,twe則可以直接連接redis實例,如果把protedted-mode設置為false,并設置了密碼,那么twe在連接redis實例時,也要設置密碼才可連接。