小編給大家分享一下Tumblr中redis集群控制層有哪些應(yīng)用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有翼城免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Tumblr是世界上最流行的輕博客服務(wù),其用戶量在最近的一次統(tǒng)計中已經(jīng)達(dá)到2090萬,超過了全球最大的博客服務(wù)WordPress。下面創(chuàng)新互聯(lián)小編來講解下Tumblr的Redis集群控制層有哪些應(yīng)用?Tumblr的Redis集群控制層性能如何?
Tumblr的Redis集群控制層有哪些應(yīng)用
在Tumblr初期,其通知系統(tǒng)是由MySQL+Memcached的傳統(tǒng)架構(gòu)組成,但是由于通知系統(tǒng)龐大的添加操作,導(dǎo)致MySQL負(fù)擔(dān)非常大,經(jīng)常搞得InnoDBglobaltransactionmax(1024)都超出了。于是他們打算重新構(gòu)建消息系統(tǒng)。首先他們分析了消息系統(tǒng)的應(yīng)用特點:
按時間排序
唯一性,每一條消息都是唯一的
讀寫比大概是60%/30%
每個用戶的消息條數(shù)一定
數(shù)據(jù)按用戶劃分,每個用戶只能讀自己的消息
Tumblr的Redis集群控制層架構(gòu)
基于上面應(yīng)用特點的考慮,Tumblr選擇了Redis的sortedsets作為其數(shù)據(jù)存儲。
他們的存儲方式是:
給每個用戶分配一個sortedsets,其中每一項保存一條通知
每條通知以時間戳為score在sortedsets中進(jìn)行排序
超出100條通知后進(jìn)行trim操作
Tumblr的數(shù)據(jù)量:2300萬個BLOG,每個BLOG100條消息,每條消息體大概160bytes。
響應(yīng)速度:大概每秒提供7,500次請求,每次請求的響應(yīng)時間小于5ms。
考慮到容災(zāi)性及可能快速增長的數(shù)據(jù)量,Tumblr打算采用preshard的方式來架構(gòu)他們的Redis集群,于是他們開發(fā)了Staircar(一個提供HTTP服務(wù)的Redis集群調(diào)度管理組件)。下面是他們的通知系統(tǒng)架構(gòu)圖:
實際上在開發(fā)Staircar前,他們考查了一些其它的類似功能的產(chǎn)品,但都不能滿足他們所有需求(或者說閑雜功能過多)。
Tumblr的Redis集群控制層性能如何
Staircar由C語言寫成,以libevent為網(wǎng)絡(luò)驅(qū)動層,提供JSON格式的RESTFul接口,其性能超出了Tumblr工程師們的想象,其在最高峰時的響應(yīng)時間也在5ms以下,其性能測試結(jié)果是大概能處理每秒30,000次左右的請求。
看完了這篇文章,相信你對“Tumblr中Redis集群控制層有哪些應(yīng)用”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
名稱欄目:Tumblr中Redis集群控制層有哪些應(yīng)用
鏈接分享:http://aaarwkj.com/article22/igiijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、搜索引擎優(yōu)化、做網(wǎng)站、App設(shè)計、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)