您好,登錄后才能下訂單哦!
小編給大家分享一下Tumblr中Redis集群控制層有哪些應用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
Tumblr是世界上最流行的輕博客服務,其用戶量在最近的一次統計中已經達到2090萬,超過了全球最大的博客服務WordPress。下面億速云小編來講解下Tumblr的Redis集群控制層有哪些應用?Tumblr的Redis集群控制層性能如何?
Tumblr的Redis集群控制層有哪些應用
在Tumblr初期,其通知系統是由MySQL+Memcached的傳統架構組成,但是由于通知系統龐大的添加操作,導致MySQL負擔非常大,經常搞得InnoDBglobaltransactionmax(1024)都超出了。于是他們打算重新構建消息系統。首先他們分析了消息系統的應用特點:
按時間排序
唯一性,每一條消息都是唯一的
讀寫比大概是60%/30%
每個用戶的消息條數一定
數據按用戶劃分,每個用戶只能讀自己的消息
Tumblr的Redis集群控制層架構
基于上面應用特點的考慮,Tumblr選擇了Redis的sortedsets作為其數據存儲。
他們的存儲方式是:
給每個用戶分配一個sortedsets,其中每一項保存一條通知
每條通知以時間戳為score在sortedsets中進行排序
超出100條通知后進行trim操作
Tumblr的數據量:2300萬個BLOG,每個BLOG100條消息,每條消息體大概160bytes。
響應速度:大概每秒提供7,500次請求,每次請求的響應時間小于5ms。
考慮到容災性及可能快速增長的數據量,Tumblr打算采用preshard的方式來架構他們的Redis集群,于是他們開發了Staircar(一個提供HTTP服務的Redis集群調度管理組件)。下面是他們的通知系統架構圖:
實際上在開發Staircar前,他們考查了一些其它的類似功能的產品,但都不能滿足他們所有需求(或者說閑雜功能過多)。
Tumblr的Redis集群控制層性能如何
Staircar由C語言寫成,以libevent為網絡驅動層,提供JSON格式的RESTFul接口,其性能超出了Tumblr工程師們的想象,其在最高峰時的響應時間也在5ms以下,其性能測試結果是大概能處理每秒30,000次左右的請求。
看完了這篇文章,相信你對“Tumblr中Redis集群控制層有哪些應用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。