分布式存儲系統設計(1)—— 系統架構


分布式存儲系統是為了解決單機存儲所存在的容量、性能等瓶頸,以及可用性、擴展性等方面的問題,通過把數據分散存儲在多台存儲設備上,為大規模的存儲應用提供大容量、高性能、高可用、擴展性好的存儲服務。這一系列的文章介紹一種典型的分布式存儲系統的設計和實現,該系統已經服務大量的業務,達到了數百T的存儲量,經受了海量服務的考驗。

整體架構

系統的整體架構如下圖所示,其中邏輯層是存儲服務的使用方。系統由兩大部分組成,一部分是圖中數據倉庫包含的模塊,是直接提供數據存儲服務的核心部分,由接入層、數據層、配置運維中心組成;另一部分是輔助系統,主要負責系統的監控、運維和運營備份系統、監控系統、運維管理系統、用戶運營系統組成。

一個數據倉庫就是一個存儲集群,多個業務可以共享一個數據倉庫的資源,我們根據需求可以部署多個數據倉庫,輔助系統是所有數據倉庫共用的。

下面簡單介紹一下各個模塊的主要功能。

接入層

接入層主要是提供兩個功能,一是對邏輯層訪問接入層進行負載均衡;二是實現數據分片,即把訪問數據的請求轉發數據所在的數據層設備。

數據層

數據層就是存儲數據,存儲介質可以支持內存或SSD。讀寫服務是處理用戶的讀寫請求;同步模塊多份數據拷貝之間的主備同步;運維工具是用於執行主備切換、死機恢復、擴容等運維操作。

配置運維中心

配置運維中心由3部分組成。配置中心負責整個倉庫的配置維護和下發;配額中心負責各個業務級別的容量、流量、CPU等資源的配額管理;運維中心用於自動或手動下發運維命令。

備份系統

備份系統負責整個系統所有業務的數據備份、回檔和恢復。流水中心會記錄所有寫操作的流水;任務中心管理和調度所有數據備份、回檔和恢復任務的執行。

監控系統

監控系統對系統的關鍵信息和運行狀況進行上報和分析,對異常情況進行監控和告警。打點上報是對系統的關鍵路徑、異常點等進行計數或狀態上報;多維上報是對打點上報的一個補充,上報了更多維度的信息。

運維管理系統

運維管理系統的使用者是系統運維人員,可以方便地進行業務管理和運維操作,如進行配置管理、故障管理、業務擴容等常用操作;還可以查看系統運行狀況和業務運營數據。

用戶運營系統

用戶管理系統的使用者是使用存儲服務的用戶,用戶通過該系統可以掌握所接入業務的運營數據,以及進行用戶級的業務管理和運維操作,如續費、擴容、數據清空、數據備份、數據恢復等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM