




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
京東文件系統(tǒng)簡(jiǎn)介劉海鋒QConShanghai2013CopyrightofJD.com為什么自主研發(fā)實(shí)現(xiàn)技術(shù)與經(jīng)驗(yàn)正在進(jìn)行的工作問(wèn)題與挑戰(zhàn)商品訂單365*數(shù)億*~10KB商品圖片幾十億*(20~200KB)庫(kù)房記錄365*十億*(KB~MB)各種方案關(guān)系數(shù)據(jù)庫(kù)OracleExadata,…Pains–沒(méi)法擴(kuò)容、定期刪除開(kāi)源存儲(chǔ)系統(tǒng)HDFS、FastDFS、…Pains–難以選型、定制、維護(hù)自主研發(fā)核心軟件系統(tǒng)可以自主研發(fā)Ifyoubelieveyoucan注意事項(xiàng)緊扣業(yè)務(wù)需求高度定制分期開(kāi)展第一期不做大而全縮短開(kāi)發(fā)周期,提高ROI系統(tǒng)定位V1:ScalableSystemKey-FileStore特別針對(duì)海量小文件強(qiáng)可靠、強(qiáng)一致、高可用Key由系統(tǒng)本身生成可滿足很多業(yè)務(wù)需求
–Really?V2:supportuser-definedkeysandmore為什么自主研發(fā)實(shí)現(xiàn)技術(shù)與經(jīng)驗(yàn)正在進(jìn)行的工作編程語(yǔ)言的選擇Go寫系統(tǒng)框架,C寫單機(jī)存儲(chǔ)引擎各取所長(zhǎng)WhyGo?良好性能,高開(kāi)發(fā)效率適合小團(tuán)隊(duì)開(kāi)發(fā)總體架構(gòu)客戶端Java,C/C++,nginx-based,Go,..ClusterCoordinatorZooKeeperDatanode3datanodes
formareplicagroup1leader+2followers一致、持久的存儲(chǔ)單元通常每磁盤部署一個(gè)實(shí)例ClustercoordinatordatanodeJavaclientreplicagroupmonitorchecker集群視圖replica-groupId->memberaddresses&weightsWeight標(biāo)識(shí)可讀可寫狀態(tài)/jfs-root/datanodes/replicagroup-1/:20130;0:20130;
0:20130;-1…replicagroup-5/
:20130;1758
:20130;
0
:20130;0
…客戶端實(shí)現(xiàn)讀寫路由等關(guān)鍵邏輯JFSKey舉例jfs/t5/8/10240/10000/A5B8FC33-YReplicaGroup-5Internalkey-8/10240/10000ChunkId/Offset/SizeCRC-A5B8FC33Y-已壓縮JFS復(fù)制協(xié)議Paxos算法的變體固定成員角色–oneprimary+2followers不做majority-basedleaderelectionFull-quorumreplication二元狀態(tài)機(jī)-ReplGroupReadyorReplGroupSplitprimaryfollowerfollowerclient單機(jī)存儲(chǔ)引擎一組Append-Only文件,無(wú)內(nèi)存索引chunkId/offset/sizeasinternalkey便于Crash-Recovery操作就是做文件同步如何做Garbage-Collection?利用lseek()compact故障處理與恢復(fù)兩種類型Fail-RestartFail-Replace統(tǒng)一處理ChunkfilesynchronizationPrimary(corrupted)Follower(restarted)FollowerPrimary(new)PrimaryFollowerBFollowerA可靠性與一致性強(qiáng)一致各個(gè)成員均寫入才返回寫成功同一復(fù)制組保持?jǐn)?shù)據(jù)一致每個(gè)數(shù)據(jù)文件的每個(gè)字節(jié)強(qiáng)可靠集群宕機(jī)、磁盤損壞文件誤刪除或截?cái)嗳裟硞€(gè)或某兩個(gè)數(shù)據(jù)文件被誤刪,系統(tǒng)自動(dòng)恢復(fù)可用性定義給定一個(gè)復(fù)制組
若某成員在線則讀可用僅當(dāng)全體成員在線才可寫整個(gè)系統(tǒng)的寫可用性至少一個(gè)復(fù)制組可寫除非IDC斷網(wǎng)斷電,JFS集群總是可寫可讀因?yàn)榭偸遣渴鸷芏鄰?fù)制組在不同網(wǎng)段離線模塊Monitor各個(gè)datanode的運(yùn)行時(shí)metricsChecker各個(gè)復(fù)制組的一致性核對(duì)磁盤故障的主動(dòng)檢測(cè)datanodemonitorchecker持續(xù)優(yōu)化流水線寫支持大文件透明壓縮針對(duì)文本對(duì)象,節(jié)省帶寬與機(jī)器資源客戶端壓縮vs服務(wù)端壓縮多數(shù)據(jù)中心異步復(fù)制,客戶端就近讀取通過(guò)ErasureCoding降低存儲(chǔ)成本利用訪問(wèn)時(shí)效性性能數(shù)字應(yīng)用舉例商品訂單每年500TB庫(kù)房流水記錄每年超過(guò)1PB商品圖片近百TB,持續(xù)增長(zhǎng)消息隊(duì)列服務(wù)開(kāi)發(fā)中相關(guān)工作類似系統(tǒng)Facebook’sHaystackTaobao’sTFSFastDFS、Weed-FS、…JingdongFilesystemV1更重要的數(shù)據(jù)強(qiáng)一致性無(wú)單點(diǎn)故障無(wú)內(nèi)存索引透明壓縮,etal.為什么自主研發(fā)實(shí)現(xiàn)技術(shù)與經(jīng)驗(yàn)正在進(jìn)行的工作重新審視需求核心業(yè)務(wù)的海量小文件交易訂單、商品圖片、庫(kù)房記錄、消息隊(duì)列…云存儲(chǔ)服務(wù)面向私有/公有云的對(duì)象存儲(chǔ)服務(wù)針對(duì)IaaS平臺(tái)的持久塊設(shè)備存儲(chǔ)對(duì)象存儲(chǔ)基本架構(gòu)ServiceGatewayLoadBalancerDatastoragesubsystemMetadatasubsystemConsistencyMaintainerAccountManagerobjectstorageevolutioninsideJD.com之前版本HDFS作為數(shù)據(jù)存儲(chǔ)子系統(tǒng)Pains:85%容量是小于1MB的對(duì)象MySQLsharding負(fù)責(zé)元數(shù)據(jù)管理Pains:manualpartitioning現(xiàn)在版本JFS替換HDFS負(fù)責(zé)小文件存儲(chǔ)下一版本JFSastheONLYbackendJFS-v2:ScalableDirectories作為對(duì)象存儲(chǔ)服務(wù)的完整后端Bucket->DirectoryJFSDirectory特性單級(jí)目錄,自定義文件名與屬性單個(gè)目錄內(nèi)文件數(shù)不限支持目錄內(nèi)prefix/range查詢、有序遍歷JFSasthecompletebackend(tinyfiles,bigfiles,directories)ServiceGatewayLoadBalancerConsistencyMaintainerAccountManagerJFS-v3:Block-deviceFiles預(yù)分配、定長(zhǎng)、獨(dú)占寫在此基礎(chǔ)上提供持久塊存儲(chǔ)服務(wù)JFSasthebackendPhysicalHostVMVMVMVolumeManager愿景統(tǒng)一的存儲(chǔ)后端,提供不同產(chǎn)品抽象內(nèi)部各子系統(tǒng)有獨(dú)立的復(fù)制協(xié)議與存儲(chǔ)引擎JingdongFilesystemBlockdeviceinterfacePrivateClientLibrariesPublicobject
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省泰州市2025屆高三第一次調(diào)研測(cè)試語(yǔ)文試題及答案解析
- 2025年黨章黨紀(jì)黨史黨建知識(shí)競(jìng)賽多項(xiàng)選擇題庫(kù)及答案(共180道題)
- 應(yīng)聘銷售簡(jiǎn)歷個(gè)人
- 長(zhǎng)租房委托協(xié)議
- 山西省2024-2025學(xué)年高三下學(xué)期2月開(kāi)學(xué)摸底考試物理試題(原卷版+解析版)
- 2025年度按揭購(gòu)車信用保險(xiǎn)合作協(xié)議范本
- 物流行業(yè)智能調(diào)度與配送優(yōu)化方案
- 品牌推廣策略實(shí)施指南
- 生態(tài)旅游開(kāi)發(fā)居間合同
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第4章 病因
- 傳統(tǒng)文化寫作課件高中英語(yǔ)人教新課標(biāo)必修三
- 變壓器產(chǎn)權(quán)移交單協(xié)議書
- 教師師德考核表
- 歐派終端培訓(xùn)銷售篇
- 《式微》課件完整版
- 甘蔗種植技術(shù)
- 第11課《核舟記》-部編版語(yǔ)文八年級(jí)下冊(cè)
- 護(hù)理基礎(chǔ)知識(shí)1000題
- 馬工程-公共財(cái)政概論-課程教案
- 千年菩提路解說(shuō)詞
- 2022年高考(湖北省學(xué)業(yè)水平選擇性考試)化學(xué)試題
評(píng)論
0/150
提交評(píng)論