騰訊微博的架構

轉自:http://www.heyues.com/tag/php%E5%A4%A7%E4%BC%9Appt/

 

潘少林,騰訊微博的架構

總結1:關於騰訊:加班很多,昨晚加班,上午加班,中午過來,演講完還得加班。騰訊最大的誘惑:10億給員工無息貸款買房。

總結2:存儲:微博上碎片的小信息的存儲,採用騰訊自己開發的一套存儲系統,TLV格式(介紹 ), 就是type+length+value,可以像mysql的靜態表那樣把所有的信息都設置成定長的,這樣有利於程序和磁盤尋址找到數據。存儲的數據按照 熱度分別存放在內存(一兩天的數據)——–>ssd(幾周的數據)——–>一般的磁盤,這樣可以保證熱數據的獲取的速度。

總結3:分層設計:底層只實現數據接口,理論上應該是原子操作,不涉及業務邏輯,上層負責各種業務邏輯、數據分發、數據展示等工作。保證每一層的的修改不影響其他層,也就是和http的四層透明代理一樣。

總結4:cache設計:每一層都有cache設置,保證上一層的cache失效後不會把後端的全掛掉,當上層有了數據修改,通過觸發器的方式來刷緩存。

總結5:數據交換和分發:由於微博的特定性和騰訊的超級長的戰線,微博數據需要同步到很多地方,採用一種騰訊內部的UDP協議傳輸——OIDB,爲什麼採用UDP,首先是UDP比TCP的傳輸快很多,其次可能是因爲客戶端的原因。

發佈了26 篇原創文章 · 獲贊 3 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章