0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分布式系統(tǒng)模式概述——Low-Water Mark

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 18:51 ? 次閱讀

作者: Unmesh Joshi

譯者: java達人

預寫日志中的索引,表示可以丟棄日志的哪一部分。

問題

預寫日志維護對持久性存儲的每一次更新。隨著時間的進展,它會無限制地增長。Segmented Log允許一次處理較小的文件,但是如果不檢查,總磁盤存儲量將無限制增長。

解決方案

有一種機制可以告訴日志記錄機器可以安全地丟棄日志的哪一部分。該機制提供了最低的偏移量或low water mark,在此之前的日志可以丟棄。讓任務在后臺的單獨線程中運行,該任務連續(xù)檢查可以丟棄日志的哪一部分并刪除磁盤上的文件。

this.logCleaner = newLogCleaner(config);this.logCleaner.startup();

日志清理器可以實現(xiàn)為定時任務

public void startup() { scheduleLogCleaning();}

private void scheduleLogCleaning() { singleThreadedExecutor.schedule(() -> { cleanLogs(); }, config.getCleanTaskIntervalMs(), TimeUnit.MILLISECONDS);}基于快照的Low-Water Mark

大多數(shù)共識實現(xiàn)(例如Zookeeper或etcd(在RAFT中定義))都實現(xiàn)了快照機制。在此實現(xiàn),存儲引擎需要定期快照。除快照外,它還存儲成功應用的日志索引。參考“Write-Ahead Log”模式中的簡單鍵值存儲實現(xiàn),可以采取以下快照:

public SnapShot takeSnapshot() { Long snapShotTakenAtLogIndex = wal.getLastLogEntryId(); return new SnapShot(serializeState(kv), snapShotTakenAtLogIndex);}

一旦快照成功保存在磁盤上,日志管理器將獲得Low-Water Mark,以丟棄較舊的日志。

List<WALSegment> getSegmentsBefore(Long snapshotIndex) { List<WALSegment> markedForDeletion = new ArrayList<>(); List<WALSegment> sortedSavedSegments = wal.sortedSavedSegments; for (WALSegment sortedSavedSegment : sortedSavedSegments) { if (sortedSavedSegment.getLastLogEntryId() < snapshotIndex) { markedForDeletion.a(chǎn)dd(sortedSavedSegment); } } return markedForDeletion;}基于時間的Low-Water Mark

在某些系統(tǒng)中,不一定要使用日志來更新系統(tǒng)狀態(tài),可以在給定的時間窗口后丟棄日志,而不必等待任何其他子系統(tǒng)共享可以刪除的最低日志索引。例如,在像Kafka這樣的系統(tǒng)中,日志將保留7周;消息時間超過7周的所有日志段都將被丟棄。對于此實現(xiàn),每個日志條目還包括創(chuàng)建時的時間戳。然后,日志清理器可以檢查每個日志段的最后一個條目,并丟棄早于配置的時間窗口的日志段。

private List<WALSegment> getSegmentsPast(Long logMaxDurationMs) { long now = System.currentTimeMillis(); List<WALSegment> markedForDeletion = new ArrayList<>(); List<WALSegment> sortedSavedSegments = wal.sortedSavedSegments; for (WALSegment sortedSavedSegment : sortedSavedSegments) { if (timeElaspedSince(now, sortedSavedSegment.getLastLogEntryTimestamp()) > logMaxDurationMs) { markedForDeletion.a(chǎn)dd(sortedSavedSegment); } } return markedForDeletion;}
private long timeElaspedSince(long now, long lastLogEntryTimestamp) { return now - lastLogEntryTimestamp;}

例子

?所有共識算法(例如Zookeeper和RAFT)中的日志實現(xiàn)均實現(xiàn)基于快照的日志清理

?Kafka中的存儲實現(xiàn)遵循基于時間的日志清理

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 分布式系統(tǒng)

    關注

    0

    文章

    147

    瀏覽量

    19572
  • Mark
    +關注

    關注

    0

    文章

    20

    瀏覽量

    8555
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    雙電機分布式驅動汽車高速穩(wěn)定性機電耦合控制

    摘要:為了利用所設計的雙電機防滑差速驅動系統(tǒng)來提高分布式驅動汽車的動力學性能,在前期同軸耦合驅動控制理論研究的基礎上,開展該車的高速穩(wěn)定性機電耦合控制研究。建立并驗證包含所設計驅動系統(tǒng)在內的
    發(fā)表于 06-18 16:37

    多通道電源管理芯片在分布式能源系統(tǒng)中的優(yōu)化策略

    摘要: 隨著分布式能源系統(tǒng)的廣泛應用,對電源管理芯片的性能要求日益提升。本文深入探討了多通道電源管理芯片在分布式能源系統(tǒng)中的優(yōu)化策略,以國科安芯的ASP4644芯片為例,從電氣特性、工
    的頭像 發(fā)表于 05-16 15:22 ?149次閱讀

    安科瑞Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)在嘉興亨泰分布式光伏項目中的應用

    摘要 分布式光伏發(fā)電系統(tǒng)其核心特點是發(fā)電設備靠近用電負荷中心,通常安裝在屋頂、建筑立面或閑置空地上,截至2025年,分布式光伏發(fā)電系統(tǒng)在全球和中國范圍內取得了顯著發(fā)展,成為能源轉型和可
    的頭像 發(fā)表于 04-10 13:17 ?247次閱讀
    安科瑞Acrel-1000DP<b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>在嘉興亨泰<b class='flag-5'>分布式</b>光伏項目中的應用

    使用VirtualLab Fusion中分布式計算的AR波導測試圖像模擬

    總計算時間超過31小時。通過使用一個由8個多核PC組成的網(wǎng)絡,提供35個客戶端分布式計算,將模擬時間減少到1小時5分鐘。基本模擬任務基本任務集合:FOV使用分布式計算的集合模擬概述模擬時間節(jié)省96%的計算時間?。。?
    發(fā)表于 04-10 08:48

    分布式光伏發(fā)運維系統(tǒng)實際應用案例分享

    安科瑞劉鴻鵬 摘?要 分布式光伏發(fā)電系統(tǒng)其核心特點是發(fā)電設備靠近用電負荷中心,通常安裝在屋頂、建筑立面或閑置空地上,截至2025年,分布式光伏發(fā)電系統(tǒng)在全球和中國范圍內取得了顯著發(fā)展,
    的頭像 發(fā)表于 04-09 14:46 ?261次閱讀
    <b class='flag-5'>分布式</b>光伏發(fā)運維<b class='flag-5'>系統(tǒng)</b>實際應用案例分享

    淺談分布式光伏系統(tǒng)在工業(yè)企業(yè)的設計及應用

    主要對工業(yè)廠區(qū)屋頂分布式光伏發(fā)電系統(tǒng)的設計及應用進行研究,為工業(yè)廠區(qū)能源供應提供一種全新的解決思路和技術支持。介紹了工業(yè)廠區(qū)屋頂分布式光伏系統(tǒng)及其優(yōu)勢,分析了工業(yè)廠區(qū)屋頂
    的頭像 發(fā)表于 03-21 14:24 ?382次閱讀
    淺談<b class='flag-5'>分布式</b>光伏<b class='flag-5'>系統(tǒng)</b>在工業(yè)企業(yè)的設計及應用

    安科瑞能量管理系統(tǒng)在江西某啤酒廠分布式光伏發(fā)電項目中的應用

    安科瑞徐赟杰18706165067 1.摘要 新型電力系統(tǒng)下,各省市分布式光伏裝機逐年增高,由于分布式光伏的波動性,光伏在并入電網(wǎng)后給原有的配電網(wǎng)增加了很大的不穩(wěn)定性,對電力系統(tǒng)的安全
    的頭像 發(fā)表于 02-11 16:24 ?373次閱讀
    安科瑞能量管理<b class='flag-5'>系統(tǒng)</b>在江西某啤酒廠<b class='flag-5'>分布式</b>光伏發(fā)電項目中的應用

    分布式云化數(shù)據(jù)庫有哪些類型

    分布式云化數(shù)據(jù)庫有哪些類型?分布式云化數(shù)據(jù)庫主要類型包括:關系型分布式數(shù)據(jù)庫、非關系型分布式數(shù)據(jù)庫、新SQL分布式數(shù)據(jù)庫、以列方式存儲數(shù)據(jù)、
    的頭像 發(fā)表于 01-15 09:43 ?421次閱讀

    基于ptp的分布式系統(tǒng)設計

    。 PTP概述 PTP是一種網(wǎng)絡時間同步協(xié)議,它允許網(wǎng)絡中的設備同步它們的時鐘。PTP基于IEEE 1588標準,旨在提供亞微秒級別的時間同步精度。PTP通過在網(wǎng)絡中傳播時間信息,并使用這些信息來校正本地時鐘,從而實現(xiàn)精確的時間同步。 系統(tǒng)架構 基于PTP的
    的頭像 發(fā)表于 12-29 10:09 ?490次閱讀

    安科瑞Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)在8.3MWp分布式光伏發(fā)電中的應用

    安科瑞分布式光伏監(jiān)控系統(tǒng)在上海汽車變速器有限公司 8.3MWp分布式光伏發(fā)電項目中的應用
    發(fā)表于 12-16 15:03 ?0次下載

    安科瑞分布式光伏集中監(jiān)控系統(tǒng)

    1、概述 “十四五”期間,隨著“雙碳”目標提出及逐步落實,本就呈現(xiàn)出較好發(fā)展勢頭的分布式光伏發(fā)展有望大幅提速。就“十四五”光伏發(fā)展規(guī)劃,國家發(fā)改委能源研究所可再生能源發(fā)展中心副主任陶冶表示,“雙碳
    的頭像 發(fā)表于 11-12 15:23 ?595次閱讀
    安科瑞<b class='flag-5'>分布式</b>光伏集中監(jiān)控<b class='flag-5'>系統(tǒng)</b>

    淺談屋頂分布式光伏發(fā)電技術的設計與應用

    【摘要】為了緩解城市用電緊張袁降低人們的用電成本,可以在工業(yè)園區(qū)、辦公樓屋頂?shù)葓鏊鶓梦蓓?b class='flag-5'>分布式光伏發(fā)電技術進行就近轉換、并網(wǎng)發(fā)電袁充分利用建筑物屋頂?shù)奶栙Y源。概述屋頂分布式光伏發(fā)電技術,分析屋頂
    的頭像 發(fā)表于 11-11 15:10 ?1749次閱讀
    淺談屋頂<b class='flag-5'>分布式</b>光伏發(fā)電技術的設計與應用

    解決電網(wǎng)逆流難題,實現(xiàn)分布式光伏發(fā)電全部自發(fā)自用

    自用模式時,需要配置防逆流裝置。在分布式光伏系統(tǒng)中,當光伏發(fā)電的功率大于本地負荷功率時,多余的電力無法被本地負荷完全消納,就會流入電網(wǎng),形成逆流。電網(wǎng)逆流會導致電網(wǎng)
    的頭像 發(fā)表于 10-31 08:09 ?1667次閱讀
    解決電網(wǎng)逆流難題,實現(xiàn)<b class='flag-5'>分布式</b>光伏發(fā)電全部自發(fā)自用

    分布式輸電線路故障定位中的分布式是指什么

    所謂分布式指的是產(chǎn)品的部署方式,是相對于集中式而言的。 一、部署方式 分散安裝:分布式輸電線路故障定位系統(tǒng)中的采集裝置需要安裝在輸電線路的多個位置,通常是每隔一定距離設置一個監(jiān)測點,以確保對整條線路
    的頭像 發(fā)表于 10-16 11:39 ?643次閱讀
    <b class='flag-5'>分布式</b>輸電線路故障定位中的<b class='flag-5'>分布式</b>是指什么

    分布式光纖測溫系統(tǒng)DTS

    隨著城市用電量的持續(xù)增長,電纜負荷日益加重,電纜故障頻發(fā)成為一個不容忽視的問題。傳統(tǒng)的電纜監(jiān)測手段已經(jīng)無法滿足對電纜狀態(tài)實時、精準監(jiān)控的需求,因此部分供電公司采用鼎信分布式光纖測溫系統(tǒng)(DTS)來
    的頭像 發(fā)表于 06-27 17:18 ?1033次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品