日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

分布式系統(tǒng)中保證高可用性的常用經(jīng)驗(yàn)

華為開發(fā)者社區(qū) ? 來源:華為云社區(qū) ? 作者:aoho ? 2021-02-05 10:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

系統(tǒng)可用性指標(biāo)

系統(tǒng)可用性指標(biāo)簡單來講就是系統(tǒng)可用時間與總運(yùn)行時間之比

Availability=MTTF/(MTTF+MTTRMTTF)

MTTF 是 Mean Time To Failure,指平均故障前的時間,即系統(tǒng)平均能夠正常運(yùn)行多長時間才發(fā)生一次故障。系統(tǒng)的可靠性越高,MTTF 越長(簡單理解MTTF 就是指系統(tǒng)正常運(yùn)行的時間)。MTTR 是 Mean Time To Recovery, 平均修復(fù)時間,即從故障出現(xiàn)到故障修復(fù)的這段時間,也就是系統(tǒng)不可用的時間,這段時間越短越好。系統(tǒng)可用性指標(biāo)可以用通過下表的999標(biāo)準(zhǔn)衡量,現(xiàn)在普遍要求至少2個9,最好4個9以上:

6333bbb2-5f86-11eb-8b86-12bb97331649.png

故障不可避免

高可用性是指系統(tǒng)提供的服務(wù)要始終可用,然而故障不可避免,特別是在分布式系統(tǒng),面對不可控的用戶流量和機(jī)房環(huán)境,系統(tǒng)故障將會顯得更加復(fù)雜和不可預(yù)測。在大規(guī)模的分布式系統(tǒng)中,各個模塊之間存在錯綜復(fù)雜的依賴,任一一個環(huán)節(jié)出現(xiàn)問題,都有可能導(dǎo)致雪崩式、多米諾骨牌式的故障,甚者可以斷言出現(xiàn)故障成了常態(tài)。

63c257e6-5f86-11eb-8b86-12bb97331649.png

如上圖的分布式系統(tǒng)中,用戶請求系統(tǒng)中的某個服務(wù)接口,請求需要經(jīng)過長長的調(diào)用鏈才能處理返回。我們起碼要保證網(wǎng)絡(luò)連接正常,服務(wù)網(wǎng)關(guān)正常、前端服務(wù)正常、后臺服務(wù)正常、數(shù)據(jù)庫正常,請求才能被正常處理,如果調(diào)用鏈中的任一環(huán)節(jié)出現(xiàn)問題,都會直接反饋到用戶體驗(yàn)上。

系統(tǒng)出現(xiàn)故障的原因多種多樣,主要有以下這些:

網(wǎng)絡(luò)問題,網(wǎng)絡(luò)連接故障,網(wǎng)絡(luò)帶寬出現(xiàn)超時擁塞等;

性能問題,數(shù)據(jù)庫慢查詢、Java Full GC、硬盤 IO 過大、CPU 過高、內(nèi)存不足等

安全問題,被網(wǎng)絡(luò)攻擊,如 DDoS 等、異??蛻舳苏埱螅缗老x等。

運(yùn)維問題,需求變更頻繁不可控,架構(gòu)也在不斷地被調(diào)整,監(jiān)控問題等;

管理問題,沒有梳理出關(guān)鍵服務(wù)以及服務(wù)的依賴關(guān)系,運(yùn)行信息沒有和控制系統(tǒng)同步;

硬件問題,硬盤損壞、網(wǎng)卡出問題、交換機(jī)出問題、機(jī)房掉電、挖掘機(jī)問題(前一陣子機(jī)房電纜就經(jīng)常被挖斷)等;

面對如此多的天災(zāi)人禍,可控和不可控的故障因素,似乎系統(tǒng)的高可用性變成不可能完成的任務(wù),但是在日常開發(fā)運(yùn)維中,我們可以采用一些有效的設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)維手段來提高系統(tǒng)的高可用性,盡量交付一個在任何時候都基本可用的系統(tǒng)。

冗余設(shè)計(jì)

分布式系統(tǒng)中單點(diǎn)故障不可取的,而降低單點(diǎn)故障的不二法門就是冗余設(shè)計(jì),通過多點(diǎn)部署的方式,并且最好是部署在不同的物理位置,避免單機(jī)房中多點(diǎn)同時失敗。冗余設(shè)計(jì)不僅可以提高服務(wù)的吞吐量,還可以在出現(xiàn)災(zāi)難時快速恢復(fù)。目前常見的冗余設(shè)計(jì)有主從設(shè)計(jì)和對等治理設(shè)計(jì),主從設(shè)計(jì)又可以細(xì)分為一主多從、多主多從。

冗余設(shè)計(jì)中一個不可避免的問題是考慮分布式系統(tǒng)中數(shù)據(jù)的一致性,多個節(jié)點(diǎn)中冗余的數(shù)據(jù)追求強(qiáng)一致性還是最終一致性。即使節(jié)點(diǎn)提供無狀態(tài)服務(wù),也需要借助外部服務(wù),比如數(shù)據(jù)庫、分布式緩存等維護(hù)數(shù)據(jù)狀態(tài)。根據(jù)分布式系統(tǒng)下節(jié)點(diǎn)數(shù)據(jù)同步的基本原理CAP(Consistency (一致性)、Availablity (可用性)、Partition tolerance (分區(qū)容忍性)三個指標(biāo)不可同時滿足),數(shù)據(jù)強(qiáng)一致性的系統(tǒng)無法保證高可用性,最典型的例子就是 Zookeeper。

Zookeeper 采用主從設(shè)計(jì),服務(wù)集群由 Leader、Follower 和 Observer 三種角色組成,它們的職責(zé)如下:

Leader: Zookeeper 集群使用 ZAB 協(xié)議通過 Leader 選舉從集群中選定一個節(jié)點(diǎn)作為 Leader。Leader 響應(yīng)客戶端的讀寫請求;

Follower:只提供數(shù)據(jù)的讀服務(wù),會將來自客戶端的寫請求轉(zhuǎn)發(fā)到 Leader 中。在 Leader 選舉的過程中參與投票,并與 Leader 維持?jǐn)?shù)據(jù)同步;

Observer:與 Folllower 的功能相同,但不參與 Leader 選舉和寫過程的“過半寫成功”策略,單純?yōu)榱颂岣呒旱淖x能力。

在 Zookeeper 集群中,由于只有 Leader 角色的節(jié)點(diǎn)具備寫數(shù)據(jù)的能力,當(dāng) Leader 節(jié)點(diǎn)宕機(jī)時,在新的 Leader 節(jié)點(diǎn)沒有被選舉出來之前,集群的寫能力都是不可用的。雖然 Zookeeper 保證了集群數(shù)據(jù)的強(qiáng)一致性,但是放棄了集群的高可用性。 對等治理設(shè)計(jì)中比較優(yōu)秀的業(yè)內(nèi)體現(xiàn)為 Netiflx 開源的 Eureka 服務(wù)注冊和發(fā)現(xiàn)組件。Eureka 集群由 Eureka Client 和 Eureka Server 兩種角色組成,其中 Eureka Client 是指服務(wù)實(shí)例使用的服務(wù)注冊和發(fā)現(xiàn)的客戶端,用于注冊和查詢服務(wù)實(shí)例信息;Eureka Server 作為服務(wù)注冊中心,存儲有各服務(wù)的實(shí)例信息列表,采用多實(shí)例的方式部署保證高可用性。 每一個 Eureka Server 都是對等的數(shù)據(jù)節(jié)點(diǎn),Eureka Client 可以向任意的 Eureka Server 發(fā)起服務(wù)注冊請求和服務(wù)發(fā)現(xiàn)請求。Eureka Server 之間的數(shù)據(jù)通過異步 HTTP 的方式同步,由于網(wǎng)絡(luò)的不可靠性,不同 Eureka Server 中的服務(wù)實(shí)例數(shù)據(jù)不能保證在任意時間節(jié)點(diǎn)都相等,只能保證在 SLA 承諾時間內(nèi)達(dá)到數(shù)據(jù)的最終一致性。Eureka 點(diǎn)對點(diǎn)對等的設(shè)計(jì)保證了服務(wù)注冊與發(fā)現(xiàn)中心的高可用性,但是犧牲了數(shù)據(jù)的強(qiáng)一致性,降級為數(shù)據(jù)的最終一致性。

熔斷設(shè)計(jì)

在分布式系統(tǒng)中,一次完整的請求可能需要經(jīng)過多個服務(wù)模塊的通力合作,請求在多個服務(wù)中傳遞,服務(wù)對服務(wù)的調(diào)用會產(chǎn)生新的請求,這些請求共同組成了這次請求的調(diào)用鏈。當(dāng)調(diào)用鏈中的某個環(huán)節(jié),特別是下游服務(wù)不可用時,將會導(dǎo)致上游服務(wù)調(diào)用方不可用,最終將這種不可用的影響擴(kuò)大到整個系統(tǒng),導(dǎo)致整個分布式系統(tǒng)的不可用,引發(fā)服務(wù)雪崩現(xiàn)象。

為了避免這種情況,在下游服務(wù)不可用時,保護(hù)上游服務(wù)的可用性顯得極其重要。對此,我們可以參考電路系統(tǒng)的斷路器機(jī)制,在必要的時候壯士斷腕,當(dāng)下游服務(wù)因?yàn)檫^載或者故障不能用時,及時“熔斷”服務(wù)調(diào)用方和服務(wù)提供方的調(diào)用鏈,保護(hù)服務(wù)調(diào)用方資源,防止服務(wù)雪崩現(xiàn)象的出現(xiàn)。

斷路器的基本設(shè)計(jì)圖如下,由關(guān)閉、打開、半開三種狀態(tài)組成:

64540902-5f86-11eb-8b86-12bb97331649.png

關(guān)閉(Closed)狀態(tài):

此時服務(wù)調(diào)用方可以調(diào)用服務(wù)提供方。斷路器中使用失敗計(jì)數(shù)器周期性統(tǒng)計(jì)請求失敗次數(shù)和請求總次數(shù)的比例,如果最近失敗頻率超過了周期時間內(nèi)允許失敗的閾值,則切換到打開(Open)狀態(tài)。在關(guān)閉狀態(tài)下,失敗計(jì)數(shù)器基于時間周期運(yùn)作,會在每個統(tǒng)計(jì)周期開始前自動重置,防止某次偶然錯誤導(dǎo)致斷路器進(jìn)入打開狀態(tài)。

打開(Open)狀態(tài):

在該狀態(tài)下,對應(yīng)用程序的請求會立即返回錯誤響應(yīng)或者執(zhí)行預(yù)設(shè)的失敗降級邏輯,而不調(diào)用服務(wù)提供方。斷路器進(jìn)入打開狀態(tài)后會啟動超時計(jì)時器,在計(jì)時器到達(dá)后,斷路器進(jìn)入半開狀態(tài)。

半開(Half-Open)狀態(tài):

允許應(yīng)用程序一定數(shù)量的請求去調(diào)用服務(wù)。如果這些請求對服務(wù)的調(diào)用成功,那么可以認(rèn)為之前導(dǎo)致調(diào)用失敗的錯誤已經(jīng)修正,此時斷路器切換到關(guān)閉狀態(tài),同時將失敗計(jì)數(shù)器重置。如果這一定數(shù)量的請求存在調(diào)用失敗的情況,則認(rèn)為導(dǎo)致之前調(diào)用失敗的問題仍然存在,斷路器切回到打開狀態(tài),并重置超時計(jì)時器來給系統(tǒng)一定的時間來修正錯誤。半開狀態(tài)能夠有效防止正在恢復(fù)中的服務(wù)被突然而來的大量請求再次打垮。

使用斷路器設(shè)計(jì)模式,能夠有效地保護(hù)服務(wù)調(diào)用方的穩(wěn)定性,它能夠避免服務(wù)調(diào)用者頻繁調(diào)用可能失敗的服務(wù)提供者,防止服務(wù)調(diào)用者浪費(fèi) CPU 周期、線程和 IO 資源等,提高服務(wù)整體的可用性。

小結(jié)

本文主要介紹了幾種高可用的設(shè)計(jì),除了上面介紹的方式之外,還有限流設(shè)計(jì)和一些其他設(shè)計(jì)與方案,如降級設(shè)計(jì)、無狀態(tài)設(shè)計(jì)、冪等性設(shè)計(jì)、重試設(shè)計(jì)、接口緩存、實(shí)時監(jiān)控和度量以及常規(guī)劃化維護(hù)。

原文標(biāo)題:進(jìn)來抄作業(yè)吧!分布式系統(tǒng)中保證高可用性的常用經(jīng)驗(yàn)

文章出處:【微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

原文標(biāo)題:進(jìn)來抄作業(yè)吧!分布式系統(tǒng)中保證高可用性的常用經(jīng)驗(yàn)

文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    AI Ceph 分布式存儲教程資料大模型學(xué)習(xí)資料2026

    的混合策略,存儲系統(tǒng)既能保證在硬件故障(如硬盤損壞、節(jié)點(diǎn)宕機(jī))下的數(shù)據(jù)高可靠,又能提供比傳統(tǒng)多副本更高的存儲利用率。 在分布式環(huán)境下,數(shù)據(jù)一致
    發(fā)表于 05-01 17:35

    ADM1029:可用性系統(tǒng)的多功能風(fēng)扇控制器與溫度監(jiān)測器

    ADM1029:可用性系統(tǒng)的多功能風(fēng)扇控制器與溫度監(jiān)測器 在電子設(shè)備的設(shè)計(jì)中,可靠的散熱管理和溫度監(jiān)測至關(guān)重要,特別是在個人電腦、服務(wù)器和電信設(shè)備等需要高可用性
    的頭像 發(fā)表于 04-10 15:10 ?126次閱讀

    2022全新版!Java分布式架構(gòu)設(shè)計(jì)與開發(fā)實(shí)戰(zhàn)(完結(jié))

    ,而UUID雖然能保證唯一,但無序會嚴(yán)重影響B(tài)+樹索引性能。雪花算法通過時間戳、機(jī)器ID和序列號組合生成64位長整型ID,既保證了全局唯一
    發(fā)表于 03-30 15:20

    Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)成功落地奉賢平食品 4.4MW 分布式光伏項(xiàng)目

    一、概述 上海華電奉賢平食品 4408.085kwp 分布式光伏發(fā)電項(xiàng)目(以下簡稱“本項(xiàng)目”)是響應(yīng)國家“優(yōu)化能源結(jié)構(gòu),提供更加清潔、可靠的能源”的號召,投資建設(shè)的分布式光伏發(fā)電應(yīng)用示范項(xiàng)目。上海
    的頭像 發(fā)表于 11-12 10:17 ?583次閱讀

    如何解決分布式光伏計(jì)量難題?

    %。同時,可提升發(fā)電效率、降低發(fā)電成本的新型技術(shù)逐步落地,推動光伏系統(tǒng)向更高效、更緊湊的方向發(fā)展,進(jìn)而對電表在精度、數(shù)據(jù)更新速度及適配方面也提出了更高要求。 分布式光伏遇計(jì)量難題 分布式
    的頭像 發(fā)表于 11-07 14:55 ?440次閱讀
    如何解決<b class='flag-5'>分布式</b>光伏計(jì)量難題?

    【節(jié)能學(xué)院】Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)在奉賢平食品 4.4MW 分布式光伏中應(yīng)用

    摘要:在“雙碳”和新型電力系統(tǒng)建設(shè)背景下,分布式光伏接入比例不斷提高,對配電網(wǎng)電壓、調(diào)度運(yùn)行及調(diào)峰等環(huán)節(jié)造成強(qiáng)烈沖擊。本文設(shè)計(jì)包含平臺層、設(shè)備層二層架構(gòu)體系的分布式光伏管控平臺,以及小容量工商業(yè)
    的頭像 發(fā)表于 08-23 08:04 ?3689次閱讀
    【節(jié)能學(xué)院】Acrel-1000DP<b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>在奉賢平<b class='flag-5'>高</b>食品 4.4MW <b class='flag-5'>分布式</b>光伏中應(yīng)用

    分布式光伏發(fā)電監(jiān)測系統(tǒng)技術(shù)方案

    分布式光伏發(fā)電監(jiān)測系統(tǒng)技術(shù)方案 柏峰【BF-GFQX】一、系統(tǒng)目標(biāo) :分布式光伏發(fā)電監(jiān)測系統(tǒng)旨在通過智能化的監(jiān)測手段,實(shí)現(xiàn)對
    的頭像 發(fā)表于 08-22 10:51 ?3505次閱讀
    <b class='flag-5'>分布式</b>光伏發(fā)電監(jiān)測<b class='flag-5'>系統(tǒng)</b>技術(shù)方案

    園區(qū)分布式光伏發(fā)電監(jiān)控系統(tǒng)

    簡婷 安科瑞電氣股份有限公司 上海嘉定? 201801 技術(shù)支持18701998775 園區(qū)部署分布式光伏發(fā)電監(jiān)控系統(tǒng),是實(shí)現(xiàn)光伏項(xiàng)目高效運(yùn)營、風(fēng)險可控、收益大的核心保障,其必要體現(xiàn)在以下多個維度
    的頭像 發(fā)表于 07-31 15:49 ?1259次閱讀
    園區(qū)<b class='flag-5'>分布式</b>光伏發(fā)電監(jiān)控<b class='flag-5'>系統(tǒng)</b>

    QNAP 正式推出 NAS 雙機(jī)架構(gòu)的可用性解決方案,打造不中斷的儲存環(huán)境

    臺北2025年7月28日 /美通社/ -- 運(yùn)算、網(wǎng)通與儲存解決方案領(lǐng)導(dǎo)品牌威聯(lián)通?科技 (QNAP? Systems, Inc.) 今日正式發(fā)布可用性 (High Availability
    的頭像 發(fā)表于 07-28 09:26 ?753次閱讀

    分布式光伏總出問題?安科瑞分布式光伏監(jiān)控系統(tǒng)來“救場”

    一、分布式光伏的痛點(diǎn)大揭秘 在 “雙碳” 目標(biāo)的大力推動下,分布式光伏作為綠色能源領(lǐng)域的重要力量,正以前所未有的速度蓬勃發(fā)展,越來越多的企業(yè)和家庭選擇安裝分布式光伏系統(tǒng)。然而,隨著
    的頭像 發(fā)表于 07-16 16:50 ?976次閱讀
    <b class='flag-5'>分布式</b>光伏總出問題?安科瑞<b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>來“救場”

    Ceph分布式存儲系統(tǒng)解析

    在當(dāng)今數(shù)據(jù)爆炸的時代,企業(yè)對存儲系統(tǒng)的需求日益增長,傳統(tǒng)的集中式存儲已經(jīng)無法滿足大規(guī)模數(shù)據(jù)處理的要求。分布式存儲系統(tǒng)應(yīng)運(yùn)而生,而Ceph作為開源分布式存儲
    的頭像 發(fā)表于 07-14 11:15 ?1250次閱讀

    分布式光伏發(fā)電監(jiān)控系統(tǒng)

    、低壓并網(wǎng)分布式光伏電站的升壓系統(tǒng)、光伏逆變器等設(shè)備進(jìn)行全面監(jiān)控,采集微機(jī)保護(hù)裝置、自動控制設(shè)備、電能質(zhì)量監(jiān)測裝置、光伏逆變器、一體化電源等設(shè)備數(shù)據(jù),并提供有功功率控制(AGC)、電壓無功綜合
    的頭像 發(fā)表于 06-25 13:41 ?1166次閱讀
    <b class='flag-5'>分布式</b>光伏發(fā)電監(jiān)控<b class='flag-5'>系統(tǒng)</b>

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

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

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

    理、可靠設(shè)計(jì)以及系統(tǒng)集成為主軸展開分析,為分布式能源系統(tǒng)效能提升提供堅(jiān)實(shí)理論基石與創(chuàng)新實(shí)踐路徑。 關(guān)鍵詞: 多通道電源管理芯片;分布式能源
    的頭像 發(fā)表于 05-16 15:22 ?1115次閱讀

    Vsan數(shù)據(jù)恢復(fù)——Vsan分布式文件系統(tǒng)上虛擬機(jī)不可用的數(shù)據(jù)恢復(fù)

    一臺采用VsSAN分布式文件系統(tǒng)的存儲設(shè)備由于未知原因關(guān)機(jī)重啟。管理員發(fā)現(xiàn)上層的虛擬機(jī)不可用,存儲內(nèi)的數(shù)據(jù)丟失。
    的頭像 發(fā)表于 05-15 17:42 ?715次閱讀
    Vsan數(shù)據(jù)恢復(fù)——Vsan<b class='flag-5'>分布式</b>文件<b class='flag-5'>系統(tǒng)</b>上虛擬機(jī)不<b class='flag-5'>可用</b>的數(shù)據(jù)恢復(fù)
    晋州市| 鄂温| 宝山区| 夹江县| 乌拉特前旗| 米泉市| 资阳市| 喀什市| 盘锦市| 晋宁县| 阜城县| 临邑县| 凉山| 富宁县| 鸡西市| 天柱县| 望谟县| 海阳市| 兰西县| 宜春市| 屏东县| 北川| 呼和浩特市| 冀州市| 大宁县| 方正县| 宾阳县| 泸水县| 郯城县| 伽师县| 阳信县| 新河县| 锦屏县| 明水县| 额济纳旗| 陕西省| 庄浪县| 应用必备| 庆阳市| 泸溪县| 泽州县|