最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Redis代理服務Twemproxy

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 10:40:29
文檔

Redis代理服務Twemproxy

Redis代理服務Twemproxy:當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),來實現(xiàn)集群存儲的特性。雖 1、twemproxy explore 當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),
推薦度:
導讀Redis代理服務Twemproxy:當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),來實現(xiàn)集群存儲的特性。雖 1、twemproxy explore 當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),

當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),來實現(xiàn)集群存儲的特性。雖

1、twemproxy explore

當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),來實現(xiàn)集群存儲的特性。雖然Redis 2.6版本已經(jīng)發(fā)布Redis Cluster,但還不是很成熟適用正式生產(chǎn)環(huán)境。 Redis 的 Cluster 方案還沒有正式推出之前,我們通過 Proxy 的方式來實現(xiàn)集群存儲。

Twitter,世界最大的Redis集群之一部署在Twitter用于為用戶提供時間軸數(shù)據(jù)。Twitter Open Source部門提供了Twemproxy。

Twemproxy,也叫nutcraker。是一個twtter開源的一個redis和memcache代理服務器。 redis作為一個高效的緩存服務器,非常具有應用價值。但是當使用比較多的時候,就希望可以通過某種方式 統(tǒng)一進行管理。避免每個應用每個客戶端管理連接的松散性。同時在一定程度上變得可以控制。

Twemproxy是一個快速的單線程代理程序,支持Memcached ASCII協(xié)議和更新的Redis協(xié)議:

它全部用C寫成,使用Apache 2.0 License授權。項目在Linux上可以工作,而在OSX上無法編譯,因為它依賴了epoll API.

Twemproxy 通過引入一個代理層,可以將其后端的多臺 Redis 或 Memcached 實例進行統(tǒng)一管理與分配,,使應用程序只需要在 Twemproxy 上進行操作,而不用關心后面具體有多少個真實的 Redis 或 Memcached 存儲。

2、twemproxy特性:

支持失敗節(jié)點自動刪除

可以設置重新連接該節(jié)點的時間
可以設置連接多少次之后刪除該節(jié)點
該方式適合作為cache存儲
支持設置HashTag

通過HashTag可以自己設定將兩個KEYhash到同一個實例上去。
減少與redis的直接連接數(shù)

保持與redis的長連接
可設置代理與后臺每個redis連接的數(shù)目
自動分片到后端多個redis實例上

多種hash算法:能夠使用不同的策略和散列函數(shù)支持一致性hash。
可以設置后端實例的權重
避免單點問題

可以平行部署多個代理層.client自動選擇可用的一個
支持redis pipelining request

支持請求的流式與批處理,降低來回的消耗

支持狀態(tài)監(jiān)控

可設置狀態(tài)監(jiān)控ip和端口,訪問ip和端口可以得到一個json格式的狀態(tài)信息串
可設置監(jiān)控信息刷新間隔時間
高吞吐量

連接復用,內(nèi)存復用。
將多個連接請求,組成reids pipelining統(tǒng)一向redis請求。
另外可以修改redis的源代碼,抽取出redis中的前半部分,作為一個中間代理層。最終都是通過linux下的epoll 事件機制提高并發(fā)效率,其中nutcraker本身也是使用epoll的事件機制。并且在性能測試上的表現(xiàn)非常出色。

3、twemproxy問題與不足

Twemproxy 由于其自身原理限制,有一些不足之處,如:

不支持針對多個值的操作,比如取sets的子交并補等(MGET 和 DEL 除外)
不支持Redis的事務操作
出錯提示還不夠完善
也不支持select操作

4、安裝與配置
具體的安裝步驟可用查看github:https://github.com/twitter/twemproxy
Twemproxy 的安裝,主要命令如下:

apt-get install automake
apt-get install libtool
git clone git://github.com/twitter/twemproxy.git
cd twemproxy
autoreconf -fvi
./configure --enable-debug=log
make
src/nutcracker -h

通過上面的命令就算安裝好了,然后是具體的配置,下面是一個典型的配置

redis1:
listen: 127.0.0.1:6379 #使用哪個端口啟動Twemproxy
redis: true #是否是Redis的proxy
hash: fnv1a_64 #指定具體的hash函數(shù)
distribution: ketama #具體的hash算法
auto_eject_hosts: true #是否在結(jié)點無法響應的時候臨時摘除結(jié)點
timeout: 400 #超時時間(毫秒)
server_retry_timeout: 2000 #重試的時間(毫秒)
server_failure_limit: 1 #結(jié)點故障多少次就算摘除掉
servers: #下面表示所有的Redis節(jié)點(IP:端口號:權重)
- 127.0.0.1:6380:1
- 127.0.0.1:6381:1
- 127.0.0.1:6382:1

redis2:
listen: 0.0.0.0:10000
redis: true
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: false
timeout: 400
servers:
- 127.0.0.1:6379:1
- 127.0.0.1:6380:1
- 127.0.0.1:6381:1
- 127.0.0.1:6382:1

你可以同時開啟多個 Twemproxy 實例,它們都可以進行讀寫,這樣你的應用程序就可以完全避免所謂的單點故障。

相關閱讀:

Twemproxy,Twitter 發(fā)布的 Redis 代理服務

Ubuntu 12.10下安裝Redis(圖文詳解)+ Jedis連接Redis

Redis系列-安裝部署維護篇

CentOS 6.3安裝Redis

Redis 的詳細介紹:請點這里
Redis 的下載地址:請點這里

linux

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Redis代理服務Twemproxy

Redis代理服務Twemproxy:當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),來實現(xiàn)集群存儲的特性。雖 1、twemproxy explore 當我們有大量 Redis 或 Memcached 的時候,通常只能通過客戶端的一些數(shù)據(jù)分配算法(比如一致性哈希),
推薦度:
標簽: 代理 tw 代理服務
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top