Tumblr的Redis集群控制層 Staircar
Tumblr是世界上最流行的輕博客服務,其用戶量在最近的一次統計中已經達到2090萬,超過了全球最大的博客服務WordPress。而我們今天要介紹的是Tumblr通知系統的架構,其通知系統由一個叫Staircar的輕量級HTTP服務器和其下層的大規模Redis集群組成。
考慮到容災性及可能快速增長的數據量,Tumblr打算采用preshard的方式來架構他們的Redis集群,于是他們開發了Staircar(一個提供HTTP服務的Redis集群調度管理組件)。下面是他們的通知系統架構圖:

實際上在開發Staircar前,他們考查了一些其它的類似功能的產品,但都不能滿足他們所有需求(或者說閑雜功能過多)。
性能
Staircar由C語言寫成,以libevent為網絡驅動層,提供JSON格式的RESTFul接口,其性能超出了Tumblr工程師們的想 象,其在最高峰時的響應時間也在5ms以下,其性能測試結果是大概能處理每秒30,000次左右的請求。下面是其性能測試圖,從圖上可以看到,其絕大部分 請求(紅色區域)的響應時間在3-4ms之間:

本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!