國(guó)內(nèi)首家!騰訊自研分布式遠(yuǎn)程Shuffle服務(wù)Firestorm正式開(kāi)源

發(fā)布時(shí)間:2021-11-10 15:06:44  |  來(lái)源:通信世界全媒體  

(CWW)11月4日,在2021騰訊數(shù)字生態(tài)大會(huì)上,騰訊宣布將開(kāi)源自主研發(fā)的分布式遠(yuǎn)程Shuffle服務(wù)Firestorm。該服務(wù)的開(kāi)源不但可以助推分布式計(jì)算的云原生部署,還能解決大數(shù)據(jù)分布式計(jì)算過(guò)程中的痛點(diǎn),提升計(jì)算資源的利用率。

在分布式計(jì)算領(lǐng)域,Shuffle過(guò)程由于存在著磁盤(pán)IO隨機(jī)讀寫(xiě)問(wèn)題,一直是分布式計(jì)算任務(wù)的性能瓶頸,除了降低計(jì)算任務(wù)的運(yùn)行效率,還降低硬件資源的利用率。同時(shí),由于Shuffle過(guò)程對(duì)于本地磁盤(pán)有容量需求(如Spark計(jì)算引擎),對(duì)于計(jì)算引擎的云原生化也制造了阻礙。近年來(lái),云原生的需求不斷增加,而和大數(shù)據(jù)息息相關(guān)的分布式計(jì)算領(lǐng)域也在不斷探索如何云原生化這樣的課題。業(yè)界對(duì)于Shuffle過(guò)程存在的問(wèn)題越來(lái)越關(guān)注,改善的需求也越來(lái)越迫切,不但出現(xiàn)了各種解決方案,部分國(guó)外廠(chǎng)商也開(kāi)源了相關(guān)的實(shí)現(xiàn)。

騰訊大數(shù)據(jù)團(tuán)隊(duì)在推進(jìn)云原生的過(guò)程中也遇到了相同的問(wèn)題,由于缺乏一個(gè)通用,便于擴(kuò)展的遠(yuǎn)程Shuffle服務(wù)的開(kāi)源方案,團(tuán)隊(duì)提議進(jìn)行自研并最終開(kāi)源回饋社區(qū),F(xiàn)irestorm則在這樣的背景下應(yīng)然而生。相比已經(jīng)開(kāi)源的同類(lèi)服務(wù),騰訊Firestorm能適用于更多的應(yīng)用場(chǎng)景,更靈活的接入各類(lèi)分布式計(jì)算引擎,還能支持各種不同的存儲(chǔ)系統(tǒng)。

為了達(dá)到支持云原生的部署模式并提升計(jì)算資源的使用率,F(xiàn)irestorm具備諸多特性:

1. 支持多種集群部署模式。Firestorm將Shuffle數(shù)據(jù)存儲(chǔ)在了遠(yuǎn)程,因此計(jì)算集群將不再需要大量存儲(chǔ)空間。同時(shí),大數(shù)據(jù)集群的部署模式也變得更加靈活,基于Firestorm,計(jì)算存儲(chǔ)分離,計(jì)算存儲(chǔ)混布,在線(xiàn)離線(xiàn)混布等部署模式都得到很好的支撐。

2. 支持Shuffle數(shù)據(jù)聚合。Firestorm通過(guò)服務(wù)端對(duì)Shuffle數(shù)據(jù)進(jìn)行分揀操作,從而達(dá)到了數(shù)據(jù)聚合的目的,大幅降低了在Shuffle過(guò)程中對(duì)于磁盤(pán)的隨機(jī)訪(fǎng)問(wèn)。同時(shí),F(xiàn)irestorm在客戶(hù)端和服務(wù)端都使用了數(shù)據(jù)緩存機(jī)制,最大化利用內(nèi)存資源,從而降低了磁盤(pán)訪(fǎng)問(wèn)的性能損耗。

3. 靈活適配各種計(jì)算引擎和存儲(chǔ)方式。Firestorm在實(shí)現(xiàn)上采用了計(jì)算引擎和存儲(chǔ)方式的解耦,因此能通過(guò)實(shí)現(xiàn)引擎?zhèn)冉涌冢`活支持各類(lèi)計(jì)算引擎(如Spark,MR等)。同樣,對(duì)于Shuffle數(shù)據(jù)的存儲(chǔ)方式也能支持,如本地文件,HDFS文件及混合模式等。

4. 支持Shuffle數(shù)據(jù)的正確性校驗(yàn)。Firestorm以Block為單位存儲(chǔ)Shuffle數(shù)據(jù),對(duì)于每個(gè)Block都會(huì)存儲(chǔ)CRC值等元數(shù)據(jù)?;谶@些元數(shù)據(jù),不但能過(guò)濾無(wú)效數(shù)據(jù),還能檢測(cè)數(shù)據(jù)在整條鏈路的傳遞過(guò)程中是否缺失,完整,保障計(jì)算任務(wù)執(zhí)行過(guò)程中的數(shù)據(jù)正確性。

5. 支持整體架構(gòu)多活模式。Firestorm采用了主從架構(gòu),能更好的管理集群的狀況,在任務(wù)調(diào)度過(guò)程中也能采用更靈活的調(diào)度方式,提高整體集群資源利用率。為了滿(mǎn)足服務(wù)高可用,對(duì)于主節(jié)點(diǎn)還增加了主-備多活模式,提升了集群服務(wù)的穩(wěn)定性。

6. 支持多種指標(biāo)監(jiān)控。Firestorm對(duì)于集群的運(yùn)行狀況,采集了大量的運(yùn)行時(shí)指標(biāo),基于這些指標(biāo)能實(shí)時(shí)掌握集群的負(fù)載及健康狀況,在使用過(guò)程中及時(shí)準(zhǔn)確地發(fā)現(xiàn)問(wèn)題,便于問(wèn)題的排查。

7. 支持服務(wù)在線(xiàn)升級(jí)。Firestorm具備節(jié)點(diǎn)黑名單功能,客戶(hù)度和服務(wù)端也采用了版本匹配機(jī)制?;谶@些特征,F(xiàn)irestorm能實(shí)現(xiàn)在生產(chǎn)環(huán)境在線(xiàn)升級(jí),同時(shí)做到應(yīng)用無(wú)感知,增強(qiáng)了生產(chǎn)的實(shí)用性。

目前Firestorm在騰訊內(nèi)部已經(jīng)在近萬(wàn)臺(tái)規(guī)模的在線(xiàn)離線(xiàn)混布集群落地,每天支撐近5W的分布式計(jì)算作業(yè),每天的Shuffle數(shù)據(jù)量接近2PB,已經(jīng)達(dá)到了初期制定的第一階段目標(biāo),具備了相當(dāng)?shù)纳a(chǎn)環(huán)境成熟度。除此以外,F(xiàn)irestorm在Shuffle數(shù)據(jù)量較大的分布式計(jì)算任務(wù)中能顯著提升性能和成功率,有效支撐現(xiàn)網(wǎng)Shuffle量100TB+的分布式作業(yè)。

騰訊大數(shù)據(jù)團(tuán)隊(duì)表示:“將騰訊自主研發(fā)的分布式遠(yuǎn)程Shuffle服務(wù)Firestorm開(kāi)源,不僅可以將騰訊在大數(shù)據(jù)分布式計(jì)算領(lǐng)域的技術(shù)和經(jīng)驗(yàn)和全球開(kāi)發(fā)者分享,還能夠汲取該領(lǐng)域在全球范圍內(nèi)的優(yōu)秀理念,最終推動(dòng)分布式計(jì)算領(lǐng)域在云原生時(shí)代的進(jìn)一步發(fā)展?!蔽磥?lái)團(tuán)隊(duì)還會(huì)進(jìn)一步對(duì)其優(yōu)化,在開(kāi)源后,騰訊也將和社區(qū)的開(kāi)發(fā)者一起對(duì)Firestorm不斷完善。


關(guān)鍵詞: 資訊 通信世界網(wǎng) 2021騰訊數(shù)字生態(tài)大會(huì) 開(kāi)源 Firestorm

 

網(wǎng)站介紹  |  版權(quán)說(shuō)明  |  聯(lián)系我們  |  網(wǎng)站地圖 

星際派備案號(hào):京ICP備2022016840號(hào)-16 營(yíng)業(yè)執(zhí)照公示信息版權(quán)所有 郵箱聯(lián)系:920 891 263@qq.com