




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
京東文件系統簡介劉海鋒QConShanghai2013CopyrightofJD.com為什么自主研發實現技術與經驗正在進行的工作問題與挑戰商品訂單365*數億*~10KB商品圖片幾十億*(20~200KB)庫房記錄365*十億*(KB~MB)各種方案關系數據庫OracleExadata,…Pains–沒法擴容、定期刪除開源存儲系統HDFS、FastDFS、…Pains–難以選型、定制、維護自主研發核心軟件系統可以自主研發Ifyoubelieveyoucan注意事項緊扣業務需求高度定制分期開展第一期不做大而全縮短開發周期,提高ROI系統定位V1:ScalableSystemKey-FileStore特別針對海量小文件強可靠、強一致、高可用Key由系統本身生成可滿足很多業務需求
–Really?V2:supportuser-definedkeysandmore為什么自主研發實現技術與經驗正在進行的工作編程語言的選擇Go寫系統框架,C寫單機存儲引擎各取所長WhyGo?良好性能,高開發效率適合小團隊開發總體架構客戶端Java,C/C++,nginx-based,Go,..ClusterCoordinatorZooKeeperDatanode3datanodes
formareplicagroup1leader+2followers一致、持久的存儲單元通常每磁盤部署一個實例ClustercoordinatordatanodeJavaclientreplicagroupmonitorchecker集群視圖replica-groupId->memberaddresses&weightsWeight標識可讀可寫狀態/jfs-root/datanodes/replicagroup-1/:20130;0:20130;
0:20130;-1…replicagroup-5/
:20130;1758
:20130;
0
:20130;0
…客戶端實現讀寫路由等關鍵邏輯JFSKey舉例jfs/t5/8/10240/10000/A5B8FC33-YReplicaGroup-5Internalkey-8/10240/10000ChunkId/Offset/SizeCRC-A5B8FC33Y-已壓縮JFS復制協議Paxos算法的變體固定成員角色–oneprimary+2followers不做majority-basedleaderelectionFull-quorumreplication二元狀態機-ReplGroupReadyorReplGroupSplitprimaryfollowerfollowerclient單機存儲引擎一組Append-Only文件,無內存索引chunkId/offset/sizeasinternalkey便于Crash-Recovery操作就是做文件同步如何做Garbage-Collection?利用lseek()compact故障處理與恢復兩種類型Fail-RestartFail-Replace統一處理ChunkfilesynchronizationPrimary(corrupted)Follower(restarted)FollowerPrimary(new)PrimaryFollowerBFollowerA可靠性與一致性強一致各個成員均寫入才返回寫成功同一復制組保持數據一致每個數據文件的每個字節強可靠集群宕機、磁盤損壞文件誤刪除或截斷若某個或某兩個數據文件被誤刪,系統自動恢復可用性定義給定一個復制組
若某成員在線則讀可用僅當全體成員在線才可寫整個系統的寫可用性至少一個復制組可寫除非IDC斷網斷電,JFS集群總是可寫可讀因為總是部署很多復制組在不同網段離線模塊Monitor各個datanode的運行時metricsChecker各個復制組的一致性核對磁盤故障的主動檢測datanodemonitorchecker持續優化流水線寫支持大文件透明壓縮針對文本對象,節省帶寬與機器資源客戶端壓縮vs服務端壓縮多數據中心異步復制,客戶端就近讀取通過ErasureCoding降低存儲成本利用訪問時效性性能數字應用舉例商品訂單每年500TB庫房流水記錄每年超過1PB商品圖片近百TB,持續增長消息隊列服務開發中相關工作類似系統Facebook’sHaystackTaobao’sTFSFastDFS、Weed-FS、…JingdongFilesystemV1更重要的數據強一致性無單點故障無內存索引透明壓縮,etal.為什么自主研發實現技術與經驗正在進行的工作重新審視需求核心業務的海量小文件交易訂單、商品圖片、庫房記錄、消息隊列…云存儲服務面向私有/公有云的對象存儲服務針對IaaS平臺的持久塊設備存儲對象存儲基本架構ServiceGatewayLoadBalancerDatastoragesubsystemMetadatasubsystemConsistencyMaintainerAccountManagerobjectstorageevolutioninsideJD.com之前版本HDFS作為數據存儲子系統Pains:85%容量是小于1MB的對象MySQLsharding負責元數據管理Pains:manualpartitioning現在版本JFS替換HDFS負責小文件存儲下一版本JFSastheONLYbackendJFS-v2:ScalableDirectories作為對象存儲服務的完整后端Bucket->DirectoryJFSDirectory特性單級目錄,自定義文件名與屬性單個目錄內文件數不限支持目錄內prefix/range查詢、有序遍歷JFSasthecompletebackend(tinyfiles,bigfiles,directories)ServiceGatewayLoadBalancerConsistencyMaintainerAccountManagerJFS-v3:Block-deviceFiles預分配、定長、獨占寫在此基礎上提供持久塊存儲服務JFSasthebackendPhysicalHostVMVMVMVolumeManager愿景統一的存儲后端,提供不同產品抽象內部各子系統有獨立的復制協議與存儲引擎JingdongFilesystemBlockdeviceinterfacePrivateClientLibrariesPublicobject
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CSIQ 8013.1-2018一體化光伏箱變系列設備技術規范第1部分:總則
- T/CRIA 16007-2019TBM織物芯輸送帶
- T/CIS 17003-2019電子式互感器測試儀
- T/CIQA 16-2021方艙式核酸檢測實驗室通用技術規范
- T/CIMA 0079.1-2023基于電力流的碳排放計量第1部分:計量模型
- T/CIES 001-2016車庫LED照明技術規范
- T/CI 363-2024預制裝配式可拆底模高強吊鉤鋼筋桁架樓承板應用技術規程
- T/CESA 1325-2024會議場景智能拍攝系統技術要求
- T/CERDS 4-2022企業ESG報告編制指南
- T/CECS 10265-2023混凝土抗水滲透儀
- 2024建安杯信息通信建設行業安全競賽題庫(試題含答案1-464題)
- 基于動態勢能獎勵機制的雙足機器人穩定行走控制研究
- 查找身邊的安全隱患
- 乳腺癌手術的整體治療
- 2023年陜西省普通高校職業教育單獨招生考試英語試題及答案
- 工程師轉正工作總結
- 8 推翻帝制 民族覺醒 說課稿 -2023-2024學年道德與法治五年級下冊統編版
- 麗聲北極星分級繪本第二級下-
- 變電站數字孿生框架構建與關鍵技術研究
- 2025-2030年中國報廢汽車回收行業市場十三五發展規劃及投資戰略研究報告新版
- DIP支付下的病案首頁填寫
評論
0/150
提交評論