吳悅,http://t.qq.com/iwuyue  騰訊大講堂特約講師,騰訊T4技術(shù)專(zhuān)家。先后參與騰訊分布式文件系統(tǒng)(TFS),K-V存儲(chǔ),SQL集群,接入網(wǎng)關(guān)(TGW)的設(shè)計(jì)與研發(fā)。見(jiàn)證了騰訊Nosql 從07年誕生,08、09批量應(yīng)用,10年至今應(yīng)用于騰訊開(kāi)放平臺(tái)讓更多的第三方開(kāi)發(fā)者使用;關(guān)注于構(gòu)建具有低成本、高性能、高可用,可擴(kuò)展,易運(yùn)營(yíng)特點(diǎn)的互聯(lián)網(wǎng)海量后臺(tái)服務(wù)。目前任騰訊架構(gòu)平臺(tái)部平臺(tái)開(kāi)發(fā)中心技術(shù)總監(jiān)。

 

  此文已發(fā)表在《程序員》雜志。


一、前言
  NoSQL的歷史很長(zhǎng),最早可以追朔到Berkeley DB等嵌入式數(shù)據(jù)庫(kù)的年代。互聯(lián)網(wǎng)行業(yè)的高速發(fā)展對(duì)大數(shù)據(jù)的需求,為NoSQL的發(fā)展起到了推波助瀾的作用。互聯(lián)網(wǎng)時(shí)代的NoSQL,源起于Google為解決大數(shù)據(jù)的存儲(chǔ)與計(jì)算而提出的GFS + Bigtable + Map Reduce。隨后Hadoop  (Hdfs+Hbase+MapReduce)、 Hypertable、Memcached,Tokyo cabinet,Redis, Dynamo,Cassandra等等NoSQL 產(chǎn)品雨后春筍般的推出,使得Nosql技術(shù)廣泛應(yīng)用于互聯(lián)網(wǎng)各個(gè)領(lǐng)域。
  在騰訊過(guò)去的幾年中,互聯(lián)網(wǎng)社交平臺(tái)取得令人矚目的發(fā)展。包括平臺(tái)用戶(hù)基數(shù)、在線、應(yīng)用數(shù)都取得突飛猛進(jìn)的增長(zhǎng);另外隨著開(kāi)放的加劇,還有越來(lái)越多的第三方選擇社交平臺(tái)開(kāi)發(fā)應(yīng)用。這些外部條件的變化對(duì)技術(shù)平臺(tái)的而言,也帶來(lái)了新挑戰(zhàn):除需要為用戶(hù)提供更強(qiáng)的海量服務(wù)外,同時(shí)還需要提供開(kāi)放的軟件基礎(chǔ)架構(gòu)來(lái)幫助第三方開(kāi)發(fā)海量服務(wù)。
  在解決這些問(wèn)題的實(shí)踐中,總結(jié)了很多經(jīng)驗(yàn)。其中關(guān)鍵一點(diǎn)則是通過(guò)NoSQL技術(shù)來(lái)構(gòu)建海量服務(wù)的數(shù)據(jù)層,并通過(guò)分析和總結(jié)出不同的業(yè)務(wù)場(chǎng)景和技術(shù)特點(diǎn),為各種場(chǎng)景提供更合適的數(shù)據(jù)層解決方案。具體而言:
? 相冊(cè)、日志等UGC類(lèi)應(yīng)用,主要是自我產(chǎn)生數(shù)據(jù),他人以瀏覽為主,其技術(shù)特點(diǎn)是讀取量巨大,修改量低于讀取量一個(gè)量級(jí),數(shù)據(jù)量從幾百T至P級(jí)不等。提供SAS、SATA級(jí)的TDB、TFS解決方案。
? 農(nóng)牧場(chǎng)等Social Game類(lèi)應(yīng)用,核心數(shù)據(jù)是用戶(hù)背包數(shù)據(jù),互動(dòng)性很強(qiáng),其技術(shù)特點(diǎn)是巨大讀取量與修改量,數(shù)據(jù)量在百G級(jí)別。提供MEM級(jí)的TMEM解決方案。
? 信息中心的Feeds類(lèi)應(yīng)用,其技術(shù)特點(diǎn)是巨大的修改量與讀取量,數(shù)據(jù)量也在幾十T到幾百T不等。提供SSD級(jí)的TSSD解決方案。


二、【2006~2008】因QQ相冊(cè)而研發(fā)TFS、TDB
  回顧NoSQL在騰訊的發(fā)展歷程,需要從2006年騰訊分布式文件系統(tǒng)TFS      的研發(fā)開(kāi)始談起,TFS目的是在公司內(nèi)部構(gòu)建統(tǒng)一的存儲(chǔ)平臺(tái),為各個(gè)BU提供文件系統(tǒng)服務(wù)。第一期的重點(diǎn)是要能夠支持到QQ相冊(cè)的快速發(fā)展。當(dāng)時(shí)QQ相冊(cè)使用傳統(tǒng)企業(yè)級(jí)存儲(chǔ)硬件+標(biāo)準(zhǔn)linux文件系統(tǒng)的老架構(gòu),在數(shù)百億的圖片數(shù),每天近10億長(zhǎng)尾下載的規(guī)模下已難以為繼。通過(guò)分析,老架構(gòu)主要有下面三個(gè)問(wèn)題:
? 采用FC-SAN等高端企業(yè)級(jí)存儲(chǔ)硬件,這些硬件主要是針對(duì)電信、銀行等高ARPU值的行業(yè)客戶(hù)而生,價(jià)格通常比較貴,對(duì)盛行免費(fèi)的互聯(lián)網(wǎng)企業(yè)來(lái)說(shuō),成本壓力大。
? 使用通用的linux文件系統(tǒng),對(duì)相冊(cè)海量小文件的場(chǎng)景,空間利用和IO性能都不能很好的滿(mǎn)足要求。
? 元數(shù)據(jù)與對(duì)象數(shù)據(jù)耦合,擴(kuò)展性和可維護(hù)性較差,單機(jī)故障以及擴(kuò)容都是異常繁瑣的運(yùn)維操作。
  TFS采用廉價(jià)的存儲(chǔ)設(shè)備,在軟件層面使用類(lèi)似軟raid的技術(shù)來(lái)滿(mǎn)足系統(tǒng)基于不可靠硬件的可靠性要求。將對(duì)象數(shù)據(jù)與元數(shù)據(jù)分離:對(duì)象數(shù)據(jù)存儲(chǔ)采用自研的CHUNK文件系統(tǒng),inode節(jié)點(diǎn)更小,空間分配采用了基于append + delete更為緊湊的管理方式,使得單機(jī)最大可以支持?jǐn)?shù)10億的圖片文件;元數(shù)據(jù)使用MYSQL存儲(chǔ)。系統(tǒng)架構(gòu)如下:


  上面的架構(gòu)很好的滿(mǎn)足了數(shù)百億級(jí)別規(guī)模下的QQ相冊(cè)業(yè)務(wù)發(fā)展。大致在07的時(shí)候,QQ相冊(cè)采用TFS的新架構(gòu)趨于穩(wěn)定,同時(shí)業(yè)務(wù)發(fā)展需要,對(duì)用戶(hù)上傳也放開(kāi)了限制,用戶(hù)上傳瀏覽的活躍度上升的一個(gè)新的量級(jí),用戶(hù)目錄、文件索引等元數(shù)據(jù)規(guī)模突破千億。在使用MYSQL應(yīng)對(duì)如此大規(guī)模的元數(shù)據(jù)的場(chǎng)景下,暴露出一些問(wèn)題:
? 索引低效:在QQ相冊(cè)的場(chǎng)景,上千億的記錄,使用MYSQL的B樹(shù)索引索引的存儲(chǔ)量消耗都在數(shù)TB到數(shù)十TB。 海量索引在無(wú)法全內(nèi)存的情況會(huì)帶來(lái)IO的多次訪問(wèn),一方面增加了單次訪問(wèn)的時(shí)延,另一方面降低了磁盤(pán)的IO利用率。
? 數(shù)據(jù)搬遷:每天數(shù)億的圖片上傳導(dǎo)致系統(tǒng)擴(kuò)容,IDC分布策略,導(dǎo)致數(shù)據(jù)搬遷是常態(tài)。使用MYSQL,使用select逐條記錄方式搬遷,不同的記錄分散在不同的磁盤(pán)偏移,一方面搬遷速度較慢,另一方面由遷移導(dǎo)致的磁盤(pán)隨機(jī)IO與業(yè)務(wù)正常訪問(wèn)相互交織在一起,從而影響到在線業(yè)務(wù)訪問(wèn)。
? 系統(tǒng)控制:MYSQL更多針對(duì)是各種數(shù)據(jù)通用場(chǎng)景所做的設(shè)計(jì)與開(kāi)發(fā),實(shí)現(xiàn)較復(fù)雜。在使用中遇到性能問(wèn)題,異常故障時(shí)難以定位原因,對(duì)業(yè)務(wù)系統(tǒng)來(lái)說(shuō),已經(jīng)是無(wú)法打破的天花板。
針對(duì)上面的問(wèn)題結(jié)合業(yè)務(wù)需求,07年底研發(fā)出TDB用以替代MYSQL,TDB是一個(gè)典型的K-V存儲(chǔ)系統(tǒng)。其特點(diǎn)是:接口簡(jiǎn)單,性能高效,具備優(yōu)秀的擴(kuò)展能力。


  數(shù)據(jù)層面,索引設(shè)計(jì)使用HASH,通過(guò)KEY可直接定位磁盤(pán)物理偏移,避免B樹(shù)設(shè)計(jì)導(dǎo)致的二次定位磁盤(pán)性能開(kāi)銷(xiāo),解決索引低效的問(wèn)題。同時(shí)采用16MB大磁盤(pán)塊的設(shè)計(jì),使得TDB的數(shù)據(jù)遷移速度可達(dá)網(wǎng)卡性能上限,解決遷移性能問(wèn)題。另外系統(tǒng)可控性更強(qiáng),一方面因?yàn)槭菍?zhuān)用場(chǎng)景,所以可以簡(jiǎn)化設(shè)計(jì),方便定位問(wèn)題與優(yōu)化更新;另一方面打通了存儲(chǔ)系統(tǒng)到磁盤(pán)IO的控制路徑,避免MYSQL的系統(tǒng)天花板。
  接入層面,為業(yè)務(wù)提供透明的訪問(wèn)代理,從而實(shí)現(xiàn)無(wú)縫的水平擴(kuò)展。由于接口簡(jiǎn)單,并且是PAAS,業(yè)務(wù)使用非常方便,從07年底開(kāi)始,在Qzone、朋友、群空間等社區(qū)應(yīng)用中逐步取得了廣泛應(yīng)用。
三、【2009】Social Game催生的TMEM
  09年有一款叫農(nóng)場(chǎng)的游戲大家應(yīng)該不會(huì)陌生,農(nóng)場(chǎng)的火爆帶動(dòng)了一批Social Game應(yīng)用的興起。其典型特點(diǎn)(1)好友間互動(dòng)性很強(qiáng),用戶(hù)背包數(shù)據(jù)會(huì)被頻繁的修改與讀取;(2)交叉訪問(wèn),無(wú)明顯熱點(diǎn)數(shù)據(jù);舉個(gè)例子來(lái)說(shuō),對(duì)于傳統(tǒng)的應(yīng)用來(lái)說(shuō),用戶(hù)間交互相對(duì)較弱,活躍用戶(hù)數(shù)據(jù)就是熱點(diǎn)數(shù)據(jù);而對(duì)于Social Game而言,用戶(hù)交互性強(qiáng),通過(guò)交叉訪問(wèn),活躍用戶(hù)也會(huì)頻繁訪問(wèn)與修改非活躍用戶(hù)數(shù)據(jù)。(3)放大效果明顯;比如用戶(hù)每次登陸,通常會(huì)遍歷好友的農(nóng)場(chǎng),會(huì)遍歷菜地偷菜,捉蟲(chóng),一次偷菜、捉蟲(chóng)會(huì)導(dǎo)致多個(gè)用戶(hù)的多個(gè)背包數(shù)據(jù)修改。這些行為一方面導(dǎo)致整個(gè)系統(tǒng)中無(wú)明顯熱點(diǎn)數(shù)據(jù),用戶(hù)傳統(tǒng)的讀緩存+寫(xiě)落地的方式則難以很好的滿(mǎn)足這些業(yè)務(wù)的需求;另一方面龐大的用戶(hù)基數(shù)之上的火爆應(yīng)用,往往單款應(yīng)用就會(huì)有數(shù)百萬(wàn)次每秒的訪問(wèn)量,這種海量訪問(wèn)不光對(duì)存儲(chǔ)層面,同時(shí)對(duì)網(wǎng)絡(luò)通訊層面提出更高的性能要求。
  針對(duì)以上新興面臨的問(wèn)題,很明顯TDB并不能很好的解決,所以09年圍繞著網(wǎng)絡(luò)通信,內(nèi)存持久化兩個(gè)方面,做了大量的設(shè)計(jì)與論證。09年底左右推出新的服務(wù)TMEM。


核心有兩點(diǎn):
? 提供內(nèi)核級(jí)KCCD網(wǎng)絡(luò)通訊組件,提升網(wǎng)絡(luò)通信性能,在網(wǎng)絡(luò)包量吞吐方面相對(duì)于應(yīng)用層提升了接近1倍的性能。
? 通過(guò)將操作流水加數(shù)據(jù)鏡像落地TFS,解決了內(nèi)存持久化的問(wèn)題。
  TMEM的出現(xiàn)很好的滿(mǎn)足了業(yè)務(wù)海量訪問(wèn)的需求。不過(guò)畢竟內(nèi)存介質(zhì)的成本比較高,所以TMEM在小數(shù)據(jù)量的場(chǎng)景下,性?xún)r(jià)比比較高。但針對(duì)于中大數(shù)據(jù)規(guī)模的海量訪問(wèn)的場(chǎng)景,使用TMEM的成本偏高,而使用SAS介質(zhì)的TDB,則IO性能又不能很好的滿(mǎn)足。比如社區(qū)中各類(lèi)應(yīng)用產(chǎn)生的Feeds,數(shù)據(jù)量數(shù)十TB至數(shù)百TB,每天訪問(wèn)量數(shù)十億至數(shù)百億,應(yīng)對(duì)該場(chǎng)景傳統(tǒng)的做法必須得是前端內(nèi)存緩存加上后端落地存儲(chǔ)。分級(jí)存儲(chǔ)導(dǎo)致的內(nèi)存數(shù)據(jù)保護(hù),各級(jí)間數(shù)據(jù)一致性,另外最為關(guān)鍵的一點(diǎn),與Social Game類(lèi)似,F(xiàn)eeds也是典型交叉訪問(wèn),熱點(diǎn)不是非常明顯,等等這些都是數(shù)據(jù)層亟需解決的難題。
四、【2010】順SSD之勢(shì)的TSSD
  在10年的時(shí)候,引入了SSD存儲(chǔ)介質(zhì),開(kāi)始構(gòu)建TSSD K-V存儲(chǔ)系統(tǒng)。SSD的特點(diǎn):有著很好的隨機(jī)讀取性能,往往單盤(pán)可達(dá)數(shù)萬(wàn)IOPS,遠(yuǎn)高于SAS、SATA的數(shù)百隨機(jī)IOPS。容量方面也接近SAS盤(pán)的容量,可達(dá)數(shù)百GB。但SSD也有弊端:(1)壽命有限,隨機(jī)寫(xiě)入的壽命相對(duì)于順序?qū)懭霝?/10左右;(2)隨機(jī)寫(xiě)入場(chǎng)景,性能易受干擾,毛刺率較高;具體而言:受限于物理機(jī)制,SSD的存儲(chǔ)單元只能先擦除才能寫(xiě)入,并且擦除次數(shù)有限,針對(duì)NAND芯片,在3000~5000次左右。其中擦除單元是512KB,寫(xiě)入單元是4KB。隨機(jī)寫(xiě)入的場(chǎng)景,會(huì)帶來(lái)寫(xiě)入放大。
  因此應(yīng)用SSD存儲(chǔ)介質(zhì),必須優(yōu)化隨機(jī)寫(xiě)入性能。TSSD通過(guò)構(gòu)建地址映射,增加隨機(jī)寫(xiě)入內(nèi)存緩沖區(qū),實(shí)現(xiàn)隨機(jī)轉(zhuǎn)順序的寫(xiě)入;通過(guò)定期的垃圾回收機(jī)制,回收垃圾數(shù)據(jù)。


  TSSD系統(tǒng)中,單機(jī)可以支持容量數(shù)TB,性能隨機(jī)數(shù)萬(wàn)次IOPS。這樣基于TSSD使用簡(jiǎn)單的架構(gòu),更少的機(jī)器便可支持到容量數(shù)十至數(shù)百TB,性能數(shù)十萬(wàn)IOPS的Feeds類(lèi)應(yīng)用。
五、NoSQL小結(jié)
  至此,業(yè)已構(gòu)建出基于內(nèi)存、SSD、SAS、SATA的各類(lèi)存儲(chǔ)介質(zhì)的存儲(chǔ)系統(tǒng),在上面也已提到各類(lèi)存儲(chǔ)系統(tǒng)所對(duì)應(yīng)的使用場(chǎng)景。實(shí)際應(yīng)用中,各種業(yè)務(wù)場(chǎng)景千變?nèi)f化,有沒(méi)有統(tǒng)一的方法來(lái)判別和選擇合適的存儲(chǔ)系統(tǒng)呢?大致在 1987 年,Jim Gray發(fā)表了這個(gè)"五分鐘法則"的觀點(diǎn),簡(jiǎn)而言之,如果一條記錄頻繁被訪問(wèn),就應(yīng)該放到內(nèi)存里,否則的話就應(yīng)該待在硬盤(pán)上按需要再訪問(wèn)。這個(gè)臨界點(diǎn)就是五分鐘。這個(gè)看似經(jīng)驗(yàn)公式,隱含的是硬件性能和成本兩個(gè)方面的因素。大約在97的時(shí)候,Jim Gray再次回顧了該法則,并引入了SSD,驗(yàn)證了該法則依然正確。這里不在贅述該法則。
  很多情況下需要一種直接根據(jù)業(yè)務(wù)的訪問(wèn)模型,因此使用IO訪問(wèn)密度,即每GB的存儲(chǔ)的IO訪問(wèn)次數(shù),會(huì)更為直觀。那看看目前常用的幾種存儲(chǔ)介質(zhì):


SATA:希捷2TB/7200轉(zhuǎn)/SATA(ST32000644NS)
SAS:希捷300GB/15000轉(zhuǎn)/SAS(ST3300657SS)
SSD :Intel 160GB X25-M G2 34nm
DRAM:三星8GB DDR3 1333 REG ECC
(中關(guān)村在線報(bào)價(jià),人民幣美元匯率:6.3157,2012/4/16)
  根據(jù)業(yè)務(wù)IO訪問(wèn)密度,選擇合適的存儲(chǔ)介質(zhì),就是根據(jù)存儲(chǔ)介質(zhì)的IO訪問(wèn)密度特性與價(jià)格來(lái)選擇性?xún)r(jià)比最高的存儲(chǔ)介質(zhì),即找到每種存儲(chǔ)介質(zhì)之間IO訪問(wèn)密度的臨界點(diǎn)。
  臨界點(diǎn)G(X,Y).IO per sec per GB = X.IO per sec per GB * Y.price per GB / X. price per GB,X與Y分別表示對(duì)比的兩種存儲(chǔ)介質(zhì),且Y.IO per sec per GB 大于 X.IO per sec per GB。根據(jù)上面的公式,可以得到表格如下:


  怎么理解上面的公式呢?舉計(jì)算SATA與SAS之間的臨界點(diǎn)為例,G(SATA,SAS).IO per sec per GB = SATA.IO per sec per GB* SAS.price per GB/SATA.price per GB = 1/20 * 0.71/0.23 = 0.15 per sec per GB。假設(shè)現(xiàn)在有1GB的數(shù)據(jù),訪問(wèn)密度是X,X小于2/3,那么使用SAS介質(zhì)則需要0.71$,如果選擇SATA介質(zhì),則需要X/(1/20) * 0.23 $。當(dāng)X為0.15時(shí),選擇SATA與SAS的成本是一樣的,當(dāng)大于0.15時(shí),則使用SATA的成本相對(duì)于SAS則高;否則則低。SAS比SSD,SSD比DRAM也是類(lèi)似。
  實(shí)際上對(duì)于一款存儲(chǔ)介質(zhì)而言,IO訪問(wèn)特性與單位每GB的成本是決定了其存在與生命力的關(guān)鍵因素。通常來(lái)講,其IO訪問(wèn)特性一般來(lái)講不會(huì)有革命性的變化,而單位每GB的成本卻是可以控制的,所以廠商總是會(huì)圍繞容量來(lái)不斷的深入優(yōu)化。
六、開(kāi)放的挑戰(zhàn)
  10年底開(kāi)始,隨著開(kāi)放的加劇,越來(lái)越多的第三方選擇社交平臺(tái)開(kāi)發(fā)應(yīng)用。這些外部條件的變化對(duì)技術(shù)平臺(tái)的而言,也帶來(lái)了新挑戰(zhàn):除需要為用戶(hù)提供更強(qiáng)的海量服務(wù)外,同時(shí)還需要提供開(kāi)放的軟件基礎(chǔ)架構(gòu)來(lái)幫助第三方開(kāi)發(fā)海量服務(wù)。現(xiàn)有已成熟的NoSQL的架構(gòu)能否被外部第三方接受,其關(guān)鍵的一點(diǎn)是接口的友好性和兼容性。采用的標(biāo)準(zhǔn)化的接口,會(huì)大大降低外部開(kāi)發(fā)者的使用門(mén)檻。因此,在11年推出了CMEM 的NoSQL云存儲(chǔ)服務(wù),開(kāi)發(fā)者可直接使用memcached接口,并即將支持redis接口。同時(shí)也提供了SQL云存儲(chǔ)服務(wù),開(kāi)發(fā)者可用MYSQL客戶(hù)端直接訪問(wèn)。后續(xù)推出CFS文件系統(tǒng)云存儲(chǔ)服務(wù),開(kāi)發(fā)者可使用posix接口訪問(wèn)到TFS。


  回顧TFS、TDB、TMEM、TSSD、CMEM、CDB、CFS等一系列存儲(chǔ)系統(tǒng)過(guò)去近6個(gè)年頭的演進(jìn)發(fā)展。有兩點(diǎn)經(jīng)驗(yàn)可供分享:
  1、 建議NoSQL開(kāi)發(fā)者盡量選擇構(gòu)建PAAS服務(wù)。一方面對(duì)業(yè)務(wù)開(kāi)發(fā)者而言,不需關(guān)心日常運(yùn)維,使用更為方便,易于接受;另一方面更容易形成用戶(hù)需求提出、實(shí)現(xiàn)與發(fā)布的閉環(huán),從而方便小步快跑,快速迭代出完善的服務(wù)。
  2、 建議中小業(yè)務(wù)開(kāi)發(fā)者盡量使用云服務(wù)。通常一個(gè)NoSQL服務(wù)所面臨的挑戰(zhàn)有兩個(gè)方面:一方面是大家所直觀感受的產(chǎn)品本身;另一方面是服務(wù)背后的運(yùn)營(yíng)體系。類(lèi)似與鐵路系統(tǒng)、消防系統(tǒng),用戶(hù)所直觀感受到的火車(chē)、鐵路,消防栓、消防車(chē)只是整個(gè)服務(wù)其中一個(gè)部分,是冰山海平面之上的部分;用戶(hù)所感受不到的鐵路規(guī)劃、調(diào)度系統(tǒng)、消防規(guī)劃、消防演練,報(bào)警系統(tǒng)等后臺(tái)運(yùn)營(yíng)體系通常是冰山海平面以下的部分,往往需要有大量的人力和財(cái)力投入,可能是中小公司難以投入的。而在沒(méi)有穩(wěn)固的后臺(tái)運(yùn)營(yíng)體系支撐下,類(lèi)似動(dòng)車(chē)事故、火災(zāi)等生產(chǎn)系統(tǒng)故障難以避免,并最終為業(yè)務(wù)帶來(lái)不可估量的損失。
  從過(guò)去幾年來(lái)看,硬件在變,存儲(chǔ)介質(zhì)的性能與容量在不斷提升,并不斷會(huì)有新存儲(chǔ)介質(zhì)的產(chǎn)生;業(yè)務(wù)在變,不斷有新興的產(chǎn)品和新的業(yè)務(wù)體驗(yàn),并對(duì)后臺(tái)系統(tǒng)提出新的挑戰(zhàn)和需求;唯一不變的就是需要擁抱變化,為業(yè)務(wù)提供更貼切與更優(yōu)化的存儲(chǔ)服務(wù)。想了解更多關(guān)于騰訊TFS、TDB、TMEM、TSSD、CMEM、CDB、CFS等一系列存儲(chǔ)系統(tǒng)過(guò)去近6個(gè)年頭的演進(jìn)發(fā)展,大家可以到騰訊大講堂網(wǎng)站(djt.qq.com)翻閱架構(gòu)平臺(tái)部的分享文章,謝謝。