精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

分布式系統(tǒng)模式—High-Water Mark

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 12:56 ? 次閱讀

作者: Unmesh Joshi

譯者: java達(dá)人

預(yù)寫日志中的索引,顯示最近一次成功的復(fù)制。

問題

服務(wù)器崩潰并重新啟動(dòng)后,可使用“Write-Ahead Log”模式恢復(fù)狀態(tài)。但是,如果服務(wù)器發(fā)生故障,Write-Ahead Log不足以提供可用性。如果單個(gè)服務(wù)器發(fā)生故障,則客戶端將無法運(yùn)行,直到服務(wù)器重新啟動(dòng)。為了獲得更多可用的系統(tǒng),我們可以在多個(gè)服務(wù)器上復(fù)制日志。使用領(lǐng)導(dǎo)者和追隨者模式,領(lǐng)導(dǎo)者會(huì)將其所有日志條目復(fù)制到追隨者法定數(shù)。現(xiàn)在,如果領(lǐng)導(dǎo)者失敗,則可以選舉新的領(lǐng)導(dǎo)者,并且客戶可以像以前一樣繼續(xù)使用集群。但是仍然有幾處可能出問題:

? leader在將其日志發(fā)送給任何追隨者之前可能會(huì)失敗。? 領(lǐng)導(dǎo)者可能會(huì)在向一些追隨者發(fā)送日志條目時(shí)失敗,無法將其發(fā)送給大多數(shù)的追隨者。

在這些錯(cuò)誤場(chǎng)景中,一些追隨者可能在其日志中丟失條目,而一些追隨者可能擁有比其他追隨者更多的條目。因此,對(duì)于每個(gè)follower來說,了解日志的哪一部分對(duì)客戶端是安全可用的就變得很重要了。

解決方案

high-water mark是日志文件的一個(gè)索引,它記錄已知已成功復(fù)制到追隨者Quorum的最后一個(gè)日志條目。在復(fù)制過程中,領(lǐng)導(dǎo)者還會(huì)將high-water mark傳遞給追隨者。集群中的所有服務(wù)器應(yīng)該只向請(qǐng)求低于high-water mark更新的客戶端傳輸數(shù)據(jù)。

這是操作順序:

Figure 1: High-Water Mark

對(duì)于每個(gè)日志條目,leader將其附加到其本地預(yù)寫日志中,然后將其發(fā)送給所有追隨者。

leader (class ReplicationModule...)
private Long appendAndReplicate(byte[] data) { Long lastLogEntryIndex = appendToLocalLog(data); logger.info("Replicating log entries from index " + lastLogEntryIndex); replicateOnFollowers(lastLogEntryIndex); return lastLogEntryIndex; }
private void replicateOnFollowers(Long entryAtIndex) { for (final FollowerHandler follower : followers) { replicateOn(follower, entryAtIndex); //send replication requests to followers } }

追隨者處理復(fù)制請(qǐng)求并將日志條目附加到它們的本地日志中。在成功附加日志條目之后,它們將擁有的最新日志條目索引響應(yīng)到leader。該響應(yīng)還包括服務(wù)器的當(dāng)前Generation Clock。

follower (class ReplicationModule...)
private ReplicationResponse handleReplicationRequest(ReplicationRequest replicationRequest) { List

Leader在收到響應(yīng)時(shí)跟蹤在每個(gè)服務(wù)器上復(fù)制的日志索引。

class ReplicationModule…
recordReplicationConfirmedFor(response.getServerId(), response.getReplicatedLogIndex()); long logIndexAtQuorum = computeHighwaterMark(logIndexesAtAllServers(), config.numberOfServers()); if (logIndexAtQuorum > replicationState.getHighWaterMark()) { var previousHighWaterMark = replicationState.getHighWaterMark(); applyLogAt(previousHighWaterMark, logIndexAtQuorum); replicationState.setHighWaterMark(logIndexAtQuorum); }

通過查看所有追隨者的日志索引和領(lǐng)導(dǎo)者本身的日志,并獲取大多數(shù)服務(wù)器上可用的索引,可以計(jì)算出High-Water Mark。

class ReplicationModule…
Long computeHighwaterMark(List

領(lǐng)導(dǎo)者將high-water mark作為常規(guī)心跳的一部分或作為單獨(dú)的請(qǐng)求向追隨者傳播。追隨者隨后相應(yīng)地設(shè)定了他們的high-water mark。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9029

    瀏覽量

    85207
  • 分布式系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    19204
  • Mark
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8386
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

    程瑜 安科瑞電氣股份有限公司 上海嘉定 201801 摘 要: 分布式光伏發(fā)電特指在用戶場(chǎng)地附近建設(shè),運(yùn)行方式多為自發(fā)自用,余電上網(wǎng),部分項(xiàng)目采用全額上網(wǎng)模式分布式光伏全額上網(wǎng)的優(yōu)點(diǎn)是可以充分利用
    的頭像 發(fā)表于 04-22 15:56 ?919次閱讀
    <b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>解決方案

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

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

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

    安科瑞薛瑤瑤18701709087 分布式光伏現(xiàn)狀 自發(fā)自用、余電上網(wǎng)模式 完全自發(fā)自用(防逆流)模式 全額上網(wǎng)模式 0.4kV并網(wǎng)系統(tǒng) ?
    的頭像 發(fā)表于 03-18 11:18 ?734次閱讀
    <b class='flag-5'>分布式</b>光伏電力監(jiān)控<b class='flag-5'>系統(tǒng)</b>解決方案

    分布式大屏控制系統(tǒng)對(duì)網(wǎng)絡(luò)環(huán)境的要求

    分布式大屏控制系統(tǒng)對(duì)網(wǎng)絡(luò)環(huán)境的要求較高,主要是因?yàn)樵?b class='flag-5'>系統(tǒng)需要實(shí)時(shí)傳輸大量的視頻信號(hào)數(shù)據(jù),以保證多個(gè)顯示屏幕的同步顯示。以下是幾個(gè)關(guān)鍵的網(wǎng)絡(luò)環(huán)境要求: 高帶寬:分布式大屏控制
    的頭像 發(fā)表于 01-29 14:52 ?547次閱讀

    分布式大屏控制系統(tǒng)的工作原理

    分布式大屏控制系統(tǒng)是一種基于分布式計(jì)算、云計(jì)算和大數(shù)據(jù)技術(shù)的控制系統(tǒng),具有高效、穩(wěn)定、靈活的特點(diǎn)。該系統(tǒng)通過將各個(gè)子
    的頭像 發(fā)表于 01-29 14:24 ?692次閱讀

    什么是分布式架構(gòu)?

    分布式架構(gòu)是指將一個(gè)系統(tǒng)或應(yīng)用拆分成多個(gè)獨(dú)立的節(jié)點(diǎn),這些節(jié)點(diǎn)通過網(wǎng)絡(luò)連接進(jìn)行通信和協(xié)作,以實(shí)現(xiàn)共同完成任務(wù)的一種架構(gòu)模式。這種架構(gòu)模式旨在提高系統(tǒng)
    的頭像 發(fā)表于 01-12 15:04 ?1175次閱讀
    什么是<b class='flag-5'>分布式</b>架構(gòu)?

    分布式節(jié)點(diǎn)服務(wù)器是什么?

    部署在不同的服務(wù)器上進(jìn)行處理和存儲(chǔ),以實(shí)現(xiàn)負(fù)載均衡和容錯(cuò)處理。這種架構(gòu)模式旨在提高系統(tǒng)的可擴(kuò)展性、可靠性和性能表現(xiàn),以滿足大規(guī)模數(shù)據(jù)處理、復(fù)雜任務(wù)處理等需求。 分布式節(jié)點(diǎn)服務(wù)器的實(shí)現(xiàn)方式有多種,其中最常用的
    的頭像 發(fā)表于 01-12 15:04 ?712次閱讀
    <b class='flag-5'>分布式</b>節(jié)點(diǎn)服務(wù)器是什么?

    分布式系統(tǒng)硬件資源池原理和接入實(shí)踐

    把各個(gè)設(shè)備的硬件外設(shè)抽象為外設(shè)信息單元,外設(shè)信息在各個(gè)可信設(shè)備之間自動(dòng)同步,如此,實(shí)現(xiàn)了外設(shè)信息的全局可見;結(jié)合分布式硬件虛擬化技術(shù),實(shí)現(xiàn)任意設(shè)備之間的硬件外設(shè)能力跨設(shè)備調(diào)用;分布式硬件資源池作為系統(tǒng)
    發(fā)表于 12-06 10:02

    redis分布式鎖的缺點(diǎn)

    Redis分布式鎖是一種常見的用于解決分布式系統(tǒng)中資源爭(zhēng)用問題的解決方案。盡管Redis分布式鎖具有很多優(yōu)點(diǎn),但它也存在一些缺點(diǎn)。本文將從幾個(gè)方面詳細(xì)介紹Redis
    的頭像 發(fā)表于 12-04 14:05 ?1217次閱讀

    如何實(shí)現(xiàn)Redis分布式

    Redis是一個(gè)開源的內(nèi)存數(shù)據(jù)存儲(chǔ)系統(tǒng),可用于高速讀寫操作。在分布式系統(tǒng)中,為了保證數(shù)據(jù)的一致性和避免競(jìng)態(tài)條件,常常需要使用分布式鎖來對(duì)共享資源進(jìn)行加鎖操作。Redis提供了一種簡(jiǎn)單而
    的頭像 發(fā)表于 12-04 11:24 ?668次閱讀

    redis分布式鎖三個(gè)方法

    Redis是一種高性能的分布式緩存和鍵值存儲(chǔ)系統(tǒng),它提供了一種可靠的分布式鎖解決方案。在分布式系統(tǒng)中,由于多個(gè)節(jié)點(diǎn)之間的并發(fā)訪問,需要使用
    的頭像 發(fā)表于 12-04 11:22 ?1417次閱讀

    redis分布式鎖的應(yīng)用場(chǎng)景有哪些

    Redis分布式鎖是一種基于Redis實(shí)現(xiàn)的分布式鎖機(jī)制,可以在分布式環(huán)境下確保資源的獨(dú)占性,避免并發(fā)訪問時(shí)的數(shù)據(jù)爭(zhēng)用問題。下面將詳細(xì)介紹Redis分布式鎖的應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 12-04 11:21 ?1400次閱讀

    zookeeper分布式原理

    Zookeeper是一個(gè)開源的分布式協(xié)調(diào)服務(wù),可以用于構(gòu)建高可用、高性能的分布式系統(tǒng)。它提供了一個(gè)簡(jiǎn)單且高效的層次命名空間,可以用來存儲(chǔ)配置信息、狀態(tài)信息、命名服務(wù)等。Zookeeper的設(shè)計(jì)目標(biāo)
    的頭像 發(fā)表于 12-03 16:33 ?623次閱讀