Twemproxy——針對MemCached與Redis的代理


Twemproxy是一個代理服務器,可以通過它減少MemcachedRedis服務器所打開的連接數。

Twemproxy有何用途呢?它可以:

  • 通過代理的方式減少緩存服務器的連接數
  • 自動在多台緩存服務器間共享數據
  • 通過不同的策略與散列函數支持一致性散列
  • 通過配置的方式禁用失敗的結點
  • 運行在多個實例上,客戶端可以連接到首個可用的代理服務器
  • 支持請求的流式與批處理,因而能夠降低來回的消耗

Redis的創建者Salvatore Sanfilippo(@antirez)撰寫了一篇文章,介紹了如何通過Twemproxy在開啟Redis-cluster特性前就讓Redis集群發揮作用,而在大多數情況下都不會喪失太多的性能:

Twemproxy的強大之處在於可以通過配置的方式讓它禁用掉失敗的結點,同時還能在一段時間后進行重試,抑或使用指定的鍵->服務器映射。這意味着在將Redis用作數據存儲時,它可以對Redis數據集進行分片(禁用掉結點驅逐);在將Redis用作緩存時,它可以啟用結點驅逐以實現簡單的高可用性。
Twemproxy速度很快,真的很快,它幾乎與直接訪問Redis速度一樣快。我敢說在最差的情況下,性能也只不過才損失20%而已。
我對性能問題唯一的想法是當在多個實例上使用命令時,我覺得MGET還有改進空間。

Twemproxy早在今年初由Twitter開源,它最開始支持Memcached,最近又添加了對Redis的支持。Twitter使用了大量的緩存服務器,每秒會發送300k的tweet;可以看看這篇介紹Real-Time Delivery Architecture At Twitter以了解更多信息。

原文: Twemproxy——針對MemCached與Redis的代理

Twemproxy, a Redis proxy from Twitter

Twemproxy – Twitter 開源的 Redis proxy

twemproxy(nutcracker)學習  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM