Twemproxy -- 针对MemCached与Redis的代理
Twemproxy -- 針對MemCached與Redis的代理
轉(zhuǎn)載自:http://www.cnblogs.com/shanyou/archive/2012/12/19/2824837.html
?
Twemproxy是一個代理服務(wù)器,可以通過它減少Memcached或Redis服務(wù)器所打開的連接數(shù)。
?
Twemproxy有何用途呢?它可以:
通過代理的方式減少緩存服務(wù)器的連接數(shù)
自動在多臺緩存服務(wù)器間共享數(shù)據(jù)
通過不同的策略與散列函數(shù)支持一致性散列
通過配置的方式禁用失敗的結(jié)點
運行在多個實例上,客戶端可以連接到首個可用的代理服務(wù)器
支持請求的流式與批處理,因而能夠降低來回的消耗
?
Redis的創(chuàng)建者Salvatore Sanfilippo(@antirez)撰寫了一篇文章,介紹了如何通過Twemproxy在開啟Redis-cluster特性前就讓Redis集群發(fā)揮作用,而在大多數(shù)情況下都不會喪失太多的性能:
?
Twemproxy的強大之處在于可以通過配置的方式讓它禁用掉失敗的結(jié)點,同時還能在一段時間后進行重試,抑或使用指定的鍵 ->服務(wù)器映射。這意味著在將Redis用作數(shù)據(jù)存儲時,它可以對Redis數(shù)據(jù)集進行分片(禁用掉結(jié)點驅(qū)逐);在將Redis用作緩存時,它可以啟用結(jié)點驅(qū)逐以實現(xiàn)簡單的高可用性。
?
Twemproxy速度很快,真的很快,它幾乎與直接訪問Redis速度一樣快。我敢說在最差的情況下,性能也只不過才損失20%而已。
?
我對性能問題唯一的想法是當(dāng)在多個實例上使用命令時,我覺得MGET還有改進空間。
?
Twemproxy早在今年初由Twitter開源,它最開始支持Memcached,最近又添加了對Redis的支持。Twitter使用了大量的緩存服務(wù)器,每秒會發(fā)送300k的tweet;可以看看這篇介紹Real-Time Delivery Architecture At Twitter以了解更多信息。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Twemproxy -- 针对MemCached与Redis的代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 7之基础 - 强引用、弱引用、
- 下一篇: 通讯录管理系统(C语言)