衡阳派盒市场营销有限公司

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

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

3天內(nèi)不再提示

分布式系統(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)遵循基于時間的日志清理

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

    關注

    0

    文章

    146

    瀏覽量

    19298
  • Mark
    +關注

    關注

    0

    文章

    20

    瀏覽量

    8409
收藏 人收藏

    評論

    相關推薦

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

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

    基于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 ?165次閱讀

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

    1、概述 “十四五”期間,隨著“雙碳”目標提出及逐步落實,本就呈現(xiàn)出較好發(fā)展勢頭的分布式光伏發(fā)展有望大幅提速。就“十四五”光伏發(fā)展規(guī)劃,國家發(fā)改委能源研究所可再生能源發(fā)展中心副主任陶冶表示,“雙碳
    的頭像 發(fā)表于 11-12 15:23 ?321次閱讀
    安科瑞<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 ?1094次閱讀
    淺談屋頂<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 ?1016次閱讀
    解決電網(wǎng)逆流難題,實現(xiàn)<b class='flag-5'>分布式</b>光伏發(fā)電全部自發(fā)自用

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

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

    分布式SCADA系統(tǒng)的特點的組成

    在工業(yè)自動化和能源管理領域,SCADA(Supervisory Control And Data Acquisition)系統(tǒng)扮演著至關重要的角色。其中,分布式SCADA系統(tǒng)憑借其獨特的結構和功能
    的頭像 發(fā)表于 06-07 14:43 ?608次閱讀

    【技術分享】EtherCAT 分布式時鐘簡介

    分布式時鐘是EtherCAT技術亮點之一,其精準同步使得整個系統(tǒng)都運行在統(tǒng)一的時鐘下,每個EtherCAT從站的同步性遠小于1us。本文將介紹引入分布式時鐘同步的原因并闡述三種同步模式
    的頭像 發(fā)表于 06-04 08:25 ?782次閱讀
    【技術分享】EtherCAT <b class='flag-5'>分布式</b>時鐘簡介

    分布式能源是什么意思?分布式能源有什么優(yōu)勢?

    分布式能源指的是在用戶端或靠近用戶端的小型能源供應系統(tǒng),它能夠直接滿足用戶的多種能源需求,如電力、熱能和冷能。
    的頭像 發(fā)表于 04-29 17:26 ?2493次閱讀

    Acrel-1000DP光伏監(jiān)控系統(tǒng)分布式光伏10KV并網(wǎng)系統(tǒng)的應用

    分布式光伏發(fā)電系統(tǒng)的發(fā)電量,提高分布式光伏發(fā)電系統(tǒng)的利用率。發(fā)展分布式光伏發(fā)電對優(yōu)化能源結構、實現(xiàn)“雙碳目標”、推動節(jié)能減排、實現(xiàn)經(jīng)濟可持續(xù)
    的頭像 發(fā)表于 04-22 15:57 ?558次閱讀
    Acrel-1000DP光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>在<b class='flag-5'>分布式</b>光伏10KV并網(wǎng)<b class='flag-5'>系統(tǒng)</b>的應用

    分布式光伏監(jiān)控系統(tǒng)解決方案

    分布式光伏發(fā)電系統(tǒng)的發(fā)電量,提高分布式光伏發(fā)電系統(tǒng)的利用率。發(fā)展分布式光伏發(fā)電對優(yōu)化能源結構、實現(xiàn)“雙碳目標”、推動節(jié)能減排、實現(xiàn)經(jīng)濟可持續(xù)
    的頭像 發(fā)表于 04-22 15:56 ?1080次閱讀
    <b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>解決方案

    HarmonyOS實戰(zhàn)案例:【分布式賬本】

    Demo基于Open Harmony系統(tǒng)使用ETS語言進行編寫,本Demo主要通過設備認證、分布式拉起、分布式數(shù)據(jù)管理等功能來實現(xiàn)。
    的頭像 發(fā)表于 04-12 16:40 ?1392次閱讀
    HarmonyOS實戰(zhàn)案例:【<b class='flag-5'>分布式</b>賬本】

    分布式系統(tǒng)在交通監(jiān)控工程中的創(chuàng)新應用案例

    隨著城市化進程的加速和交通流量的不斷增長,交通監(jiān)控工程在維護交通秩序、保障交通安全方面發(fā)揮著越來越重要的作用。訊維分布式系統(tǒng)憑借其強大的分布式處理能力和高度的集成性,在交通監(jiān)控工程中實現(xiàn)了創(chuàng)新
    的頭像 發(fā)表于 03-18 16:14 ?579次閱讀

    分布式光伏電力監(jiān)控系統(tǒng)解決方案

    安科瑞薛瑤瑤18701709087 分布式光伏現(xiàn)狀 自發(fā)自用、余電上網(wǎng)模式 完全自發(fā)自用(防逆流)模式 全額上網(wǎng)模式 0.4kV并網(wǎng)系統(tǒng) ?
    的頭像 發(fā)表于 03-18 11:18 ?898次閱讀
    <b class='flag-5'>分布式</b>光伏電力監(jiān)控<b class='flag-5'>系統(tǒng)</b>解決方案
    24山亥山巳向造葬日课| 亲朋棋牌官方下载| 哪里有百家乐官网赌博网站| 上海百家乐赌博| 线上娱乐网站| 网上百家乐官网试玩网址| 茅台百家乐的玩法技巧和规则 | 百家乐高手长胜攻略| 澳门赌场招聘网| 三元玄空24山坐向开门| 欢乐谷娱乐城信誉| 新梦想百家乐官网的玩法技巧和规则| 百家乐官网平预测软件| 丹东棋牌网| 百家乐官网必胜打| 博彩游戏| 百家乐开户就送现金| 嘉兴市| 最新百家乐出千赌具| 百家乐官网投注平台信誉排行| 三公百家乐在哪里可以玩| 百家乐官网鸿泰棋牌| 威尼斯人娱乐棋牌| 广州百家乐官网赌城| 亚洲顶级赌场的微博| 百家乐官网什么方法容易赢| 象棋赌博网| 澳门赌百家乐打法| 百家乐官网折桌子| 威尼斯人娱乐城信誉好吗| 百家乐官网试玩全讯网2| 百家乐扑| 去澳门百家乐官网的玩法技巧和规则 | 百家乐出庄概率| 隆回县| 威尼斯人娱乐城送宝马| 红桃K百家乐官网娱乐城| 中宁县| 百家乐旺门打| 乐宝百家乐游戏| 网上百家乐官网新利|