支撐萬億級(jí)訪問的微博后端是怎么煉成的

支撐萬億級(jí)訪問的微博后端是怎么煉成的?

原創(chuàng)2016-05-25趙強(qiáng)壹佰案例

壹佰案例

微信號(hào)Top100Case

功能介紹TOP?100軟件案例研究峰會(huì)是科技界一年一度案例研究盛會(huì)集侯,每年甄選有代表的100個(gè)技術(shù)創(chuàng)新/研發(fā)管理案例叭莫,旨在揭幕100件案例背后的思考迂尝、長尾價(jià)值,為聽眾提煉最佳學(xué)習(xí)路徑硫兰,幫助他人的項(xiàng)目或團(tuán)隊(duì)獲得啟示、成長,正如"他山之石莹痢,可以攻玉"呵恢。

2016年6月25-26日鞠值,第27屆MPD技術(shù)管理工作坊將在深圳華僑城洲際酒店舉行。本次工作坊渗钉,我們邀請(qǐng)了新浪微博技術(shù)經(jīng)理肖鵬老師彤恶,分享《新浪微博數(shù)據(jù)庫的六個(gè)變革》, 從時(shí)間線的維度解析新浪微博數(shù)據(jù)庫和數(shù)據(jù)庫平臺(tái)支持團(tuán)隊(duì)的成長以及技術(shù)變更鳄橘,希望為處于成長期的聽眾帶來“前車之鑒”声离。

壹佰案例在MPD開始前采訪了肖鵬老師,先行“劇透”新浪微博數(shù)據(jù)庫的技術(shù)秘密瘫怜。

佰案例:請(qǐng)肖鵬老師先簡單介紹一下自己抵恋,關(guān)注的技術(shù)領(lǐng)域有哪些

肖鵬我目前在新浪微博研發(fā)中心平臺(tái)研發(fā)部負(fù)責(zé)數(shù)據(jù)庫相關(guān)工作宝磨,個(gè)人比較關(guān)注數(shù)據(jù)庫的高可用弧关、高可靠以及性能和架構(gòu)優(yōu)化方面。

之前比較集中在MySQL方向唤锉, 近幾年也開始接觸NoSQL世囊,比如Redis、HBase等窿祥,對(duì)于涉及數(shù)據(jù)方面的架構(gòu)設(shè)計(jì)株憾、優(yōu)化以及大規(guī)模集群運(yùn)維有一定的心得。

壹佰案例:簡單介紹下微博數(shù)據(jù)庫的概況晒衩,除了MySQL嗤瞎、Redis還采用了哪些技術(shù)

肖鵬:微博數(shù)據(jù)庫主流使用MySQL和Redis听系,輔助一定的HBase贝奇,并且由于緩存和隊(duì)列和數(shù)據(jù)庫的關(guān)聯(lián)比較緊密,我們也是一起負(fù)責(zé)的靠胜,這樣就形成了后端數(shù)據(jù)層的一個(gè)閉環(huán)掉瞳,所有模塊都是由我們團(tuán)隊(duì)負(fù)責(zé)的毕源,這樣就減少了溝通,并讓DBA對(duì)整個(gè)業(yè)務(wù)架構(gòu)有更深層次的把控陕习。

另外除了經(jīng)典的MySQL和Redis之外霎褐,我們還自研了一些周邊的中間件系統(tǒng),比如Redis中間件Tribe该镣,以及異構(gòu)數(shù)據(jù)同步的Databus等冻璃。

壹佰案例:微博的什么業(yè)務(wù)存在NoSQL上,什么業(yè)務(wù)存在MySQL上损合,這樣做的選擇是什么俱饿?

肖鵬:在技術(shù)選型上,主要還是根據(jù)業(yè)務(wù)的具體場(chǎng)景塌忽。一般來說對(duì)于高并發(fā)低容量的(尤其是對(duì)響應(yīng)時(shí)間非常敏感的業(yè)務(wù))拍埠,我們會(huì)建議使用Redis,然后由于我們內(nèi)部的Redis進(jìn)行了自定制土居,可以作為cache也可以作為storage枣购,所以會(huì)根據(jù)業(yè)務(wù)的整個(gè)架構(gòu)決定是當(dāng)cache使用,還是當(dāng)storge使用擦耀。

對(duì)于其它的我們都會(huì)建議使用MySQL棉圈,畢竟MySQL是一個(gè)相當(dāng)通用的數(shù)據(jù)庫,而對(duì)于一些類似于日志類的多寫少讀眷蜓,并且預(yù)估容量會(huì)比較大的分瘾,我們會(huì)使用TokuDB引擎來解決。

最近吁系,由于Redis的數(shù)據(jù)結(jié)構(gòu)對(duì)于開發(fā)非常簡單易用德召,所以我們很多的需求都轉(zhuǎn)向了Redis,我們也在調(diào)研內(nèi)存落地到SSD盤上的解決方案汽纤。

壹佰案例:通過一些資料我們得知上岗,微博2015年在Redis的開發(fā)上下了很大力氣,具體做了哪些工作蕴坪,解決了哪些問題肴掷?

肖鵬:我們?cè)?015年主要面臨的問題是Redis容量變大的調(diào)整,很多單實(shí)例突破到100G這個(gè)量級(jí)背传,給我們的拆分工作帶來了很多困難呆瞻,為此我們專門開發(fā)了Redis中間件Tribe來解決這個(gè)問題。

壹佰案例:春節(jié)紅包對(duì)微博數(shù)據(jù)庫這塊有哪些挑戰(zhàn)径玖?微博是如何應(yīng)對(duì)的痴脾?

肖鵬:春節(jié)紅包主要的挑戰(zhàn)還是短時(shí)間內(nèi)的高并發(fā)問題,由于微博的紅包是公開性質(zhì)的挺狰,所以面臨一個(gè)紅包會(huì)有成千上萬人同時(shí)搶的問題明郭,這種高并發(fā)會(huì)對(duì)數(shù)據(jù)庫帶來很大的并發(fā)鎖壓力。

針對(duì)這個(gè)問題丰泊,我們先在整體架構(gòu)上進(jìn)行了優(yōu)化薯定,分多層進(jìn)行過濾,爭取做到到數(shù)據(jù)層的壓力是縮小的而不是放大的瞳购;第二就是根據(jù)業(yè)務(wù)特點(diǎn)利用Redis的高并發(fā)特點(diǎn)來進(jìn)行抗量话侄,然后通過隊(duì)列進(jìn)行消峰,盡量保障到達(dá)MySQL層是相對(duì)串行的学赛;最后年堆,對(duì)于MySQL還是進(jìn)行拆庫拆表,盡量利用多實(shí)例來解決高并發(fā)問題盏浇。

壹佰案例您mpd的話題是微博數(shù)據(jù)庫六個(gè)變革变丧,可否簡單劇透下六個(gè)變革都是什么?以及做變革的背景绢掰。

肖鵬:這次主題主要是對(duì)微博從無到有的過程中數(shù)據(jù)庫如何在滿足業(yè)務(wù)需求的前提下痒蓬,不斷提升平臺(tái)的可靠性和可用性,并使用自動(dòng)化努力提高工作效率進(jìn)行總結(jié)滴劲」ド梗基本上,會(huì)按照時(shí)間維度來進(jìn)行總結(jié)班挖。

?業(yè)務(wù)解藕鲁捏,平臺(tái)架構(gòu)改造

?內(nèi)存為王,引入Redis

?長尾效應(yīng)萧芙,引入HBase和TokuDB

?效率第一给梅,自動(dòng)化建設(shè)

?服務(wù)化,自助平臺(tái)的開發(fā)

?彈性伸縮双揪,云時(shí)代的到來

以上六個(gè)變更基本都是隨著業(yè)務(wù)發(fā)展需求而進(jìn)行的破喻,整體上可以用“發(fā)現(xiàn)問題,解決問題”來總結(jié)盟榴。我將在深圳MPD上用180分鐘的時(shí)間詳細(xì)講解以上內(nèi)容曹质。

壹佰案例:微博這種體量的數(shù)據(jù)肯定面臨拆庫的問題,有什么經(jīng)驗(yàn)分享嗎擎场?

鵬:開玩笑的說我們新人培訓(xùn)的第一個(gè)內(nèi)容就是數(shù)據(jù)庫拆分羽德,由于我們經(jīng)常進(jìn)行數(shù)據(jù)拆分,所以也有一些經(jīng)驗(yàn)心得迅办。

第一要理解業(yè)務(wù)形態(tài)宅静,拆分后的數(shù)據(jù)應(yīng)該滿足業(yè)務(wù)需求并且盡量不增加SQL開發(fā)的復(fù)雜程度站欺。

第二就是要寫具體的方案姨夹,一定要考慮如何進(jìn)行讀寫服務(wù)的切換纤垂,開發(fā)需要如何進(jìn)行配合。

第三也就是最重要的磷账,就是一定要有回退方案峭沦,一旦拆分失敗,不能影響線上業(yè)務(wù)的正常運(yùn)行也不要出現(xiàn)丟數(shù)據(jù)的情況發(fā)生逃糟。

壹佰案例:作為數(shù)據(jù)庫領(lǐng)域的“老司機(jī)”吼鱼,您對(duì)新手DBA有什么建議嗎?

肖鵬:有幾點(diǎn)建議新人的绰咽。

第一菇肃,數(shù)據(jù)庫入門的門檻說高不高,說低也不低取募,如果要從事這行琐谤,最好將MVCC,ACID玩敏,CAP等理論搞清楚笑跛,并沉下心系統(tǒng)通讀一本MySQL的書籍,這樣有助于整體了解數(shù)據(jù)庫聊品,不要光靠網(wǎng)上的各種文章博客來學(xué)習(xí)飞蹂,否則容易“以偏概全”;

第二翻屈,數(shù)據(jù)庫實(shí)踐意義很重陈哑,有條件最好實(shí)際操作,比如復(fù)制伸眶,比如切主庫惊窖,比如拆庫。

第三厘贼,鍛煉寫文檔畫架構(gòu)圖的能力界酒,很多DBA自己明白,但是給別人就講不明白了嘴秸,這樣對(duì)部門來說不利于知識(shí)傳承毁欣,對(duì)個(gè)人也不好。

第四岳掐,最后一點(diǎn)凭疮,如果有可能最好選擇一些大平臺(tái)進(jìn)行學(xué)習(xí),這樣成長的速度會(huì)飛快串述,因?yàn)榱孔円l(fā)質(zhì)變执解,在海量的環(huán)境下面對(duì)的問題和挑戰(zhàn)是完全不一樣的

擴(kuò)展閱讀:

專訪58沈劍:除了架構(gòu)纲酗,我還想認(rèn)真談?wù)劰芾?/a>

QQ億級(jí)日活躍業(yè)務(wù)后臺(tái)核心技術(shù)揭秘

億級(jí)日PV的魅族云同步的核心協(xié)議與架構(gòu)實(shí)踐

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衰腌,一起剝皮案震驚了整個(gè)濱河市新蟆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌右蕊,老刑警劉巖琼稻,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異尤泽,居然都是意外死亡欣簇,警方通過查閱死者的電腦和手機(jī)规脸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門坯约,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人莫鸭,你說我怎么就攤上這事闹丐。” “怎么了被因?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵卿拴,是天一觀的道長。 經(jīng)常有香客問我梨与,道長堕花,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任粥鞋,我火速辦了婚禮缘挽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呻粹。我一直安慰自己壕曼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布等浊。 她就那樣靜靜地躺著腮郊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筹燕。 梳的紋絲不亂的頭發(fā)上轧飞,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音撒踪,去河邊找鬼踪少。 笑死,一個(gè)胖子當(dāng)著我的面吹牛糠涛,可吹牛的內(nèi)容都是我干的援奢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忍捡,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼集漾!你這毒婦竟也來了切黔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤具篇,失蹤者是張志新(化名)和其女友劉穎纬霞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驱显,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诗芜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埃疫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伏恐。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖栓霜,靈堂內(nèi)的尸體忽然破棺而出翠桦,到底是詐尸還是另有隱情,我是刑警寧澤胳蛮,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布销凑,位于F島的核電站,受9級(jí)特大地震影響仅炊,放射性物質(zhì)發(fā)生泄漏斗幼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一抚垄、第九天 我趴在偏房一處隱蔽的房頂上張望蜕窿。 院中可真熱鬧,春花似錦督勺、人聲如沸渠羞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽次询。三九已至,卻和暖如春瓷叫,著一層夾襖步出監(jiān)牢的瞬間屯吊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工摹菠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盒卸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓次氨,卻偏偏與公主長得像蔽介,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容