企業級實時存儲平臺的特點:
BookKeeper的設計完全滿足上述需求,並廣泛應用於許多用例:分布式系統提供高可用性或多個副本,單個集群或多個集群(多個數據中心)之間的跨機復制,發布/訂閱(pub-sub)消息傳遞系統的存儲服務,流式工作的不可變對象。
記賬員集群主要包括三個部分:
BookKeeper復制並持久存儲日誌流,這些日誌流是組織良好的記錄流。
簿記只有兩個核心要素:分類賬/流和分錄。
簿記員為日誌存儲提供了兩個術語:壹個是分類賬(也稱為日誌段);另壹種是流(也稱為日誌流)。
分類帳元數據
Entry是BookKeeper的數據實體,它不僅包含寫入bookie的實際數據,還包含壹些元數據信息。
Pulsar通過操作總賬來讀寫數據。
整體/寫入仲裁/確認仲裁
Pulsar打開壹個賬本,需要指定三個持久化的配置參數。
壹個流由多個分類賬組成;每個分類帳根據基於時間或空間的滾動策略進行循環。在流被刪除之前,它可能存在相對較長的時間(幾天、幾個月甚至幾年)。Stream的主要數據保留機制是截斷,包括根據基於時間或空間的保留策略刪除最舊的分類帳。
分類帳和流為歷史數據和實時數據提供了統壹的存儲抽象。寫入數據時,實時數據記錄通過日誌流進行流式傳輸或後端傳輸。存儲在分類帳中的實時數據成為歷史數據。流中累積的數據不受單臺機器容量的限制。
在與莊家交互時,簿記員應用主要有兩個功能:壹是創建賬本或流,用於寫數據;另壹種是打開總賬或流讀取數據。為了在BookKeeper中與兩種不同的存儲原語進行交互,BookKeeper提供了兩個API。
選擇使用哪個API取決於用戶對分類帳語義設置的粒度控制程度。用戶也可以在壹個應用程序中使用這兩種API。
下圖是簿記員的典型安裝示例。
上圖的幾個註意點。
記賬員的元數據存儲——元數據存儲目前是由zookeeper進行的,用來存儲領導ID對應的元數據信息。
集群中的博彩公司用於存儲這些分類帳對應的條目,所有博彩公司都將在BookKeeper上登記,客戶端將找到並采取相應的行動。BookKeeper的客戶端主要實現壹些壹致性和策略相關的邏輯。
關於Apache BookKeeper項目的更多信息,請訪問官網:/p/459213737。
/Zhai Jia 03/文章/詳情/107253634/