故事要從我讀大學(xué)那會說起。
因為功率問題,很多寢室都是不讓用吹風(fēng)筒和熱水壺的。
但我那時候頭鐵,不僅用,而且還同時開了兩個熱水壺和一個吹風(fēng)筒。直接給寢室電路來了個壓" />

日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

服務(wù)熔斷是指什么?你知道嗎?

來源: 責(zé)編: 時間:2024-03-19 09:24:23 249觀看
導(dǎo)讀微服務(wù)領(lǐng)域里有個詞叫服務(wù)熔斷,你知道這是啥不?
故事要從我讀大學(xué)那會說起。
因為功率問題,很多寢室都是不讓用吹風(fēng)筒和熱水壺的。
但我那時候頭鐵,不僅用,而且還同時開了兩個熱水壺和一個吹風(fēng)筒。直接給寢室電路來了個壓

3kD28資訊網(wǎng)——每日最新資訊28at.com

微服務(wù)領(lǐng)域里有個詞叫服務(wù)熔斷,你知道這是啥不?
故事要從我讀大學(xué)那會說起。
因為功率問題,很多寢室都是不讓用吹風(fēng)筒和熱水壺的。
但我那時候頭鐵,不僅用,而且還同時開了兩個熱水壺和一個吹風(fēng)筒。直接給寢室電路來了個壓測。
不出意外的出了意外,寢室直接停電。
一時間,隔壁寢室燈火通明,我們寢室一片漆黑。
作為本科專業(yè)電氣工程的靚仔,我們意識到,這妥妥是電路過載導(dǎo)致斷路器跳閘了。
于是我們趁社管阿姨不注意,偷偷摸進(jìn)配電房,手動將斷路器開關(guān)復(fù)位,寢室就來電了。3kD28資訊網(wǎng)——每日最新資訊28at.com

是真的有驚無險。
如果沒有這個斷路器,寢室總電路怕是得因為過載全部燒掉,我們幾個妥妥會提前進(jìn)入社會大學(xué)。
我能畢業(yè),全靠這個斷路器!
看到這里,我們知道了斷路器的作用,就是在電路出問題的時候及時斷開電路,避免過載,從而保護(hù)電路。
在微服務(wù)領(lǐng)域,我們也可以借鑒斷路器的思路,引入了服務(wù)熔斷的概念。3kD28資訊網(wǎng)——每日最新資訊28at.com

服務(wù)熔斷是什么

服務(wù)熔斷,也就是 Circuit Breaker,本質(zhì)上是一種軟件設(shè)計模式,用于在分布式系統(tǒng)中處理服務(wù)調(diào)用失敗的情況。3kD28資訊網(wǎng)——每日最新資訊28at.com

假設(shè)有個 A 服務(wù)調(diào)用 B 服務(wù)的場景,如果 B 服務(wù)已經(jīng)出現(xiàn)頻繁失敗的情況,A 繼續(xù)調(diào)用只會加劇 B 服務(wù)的負(fù)擔(dān),嚴(yán)重的時候,有可能導(dǎo)致 B 服務(wù)崩潰,甚至出現(xiàn) B 服務(wù)重啟后立馬被打崩的情況。因此,最好的做法是,在一段時間內(nèi)先不要再頻繁調(diào)用 B 服務(wù)。3kD28資訊網(wǎng)——每日最新資訊28at.com

為了實現(xiàn)這個保護(hù)效果,我們可以在 A 和 B 之間加一個熔斷器。當(dāng) B 服務(wù)頻繁失敗時,熔斷器可以防止 A 繼續(xù)頻繁調(diào)用 B 服務(wù),相當(dāng)于阻斷服務(wù)間的請求,并且還能在 B 服務(wù)恢復(fù)正常之后,恢復(fù) A 對 B 的調(diào)用。3kD28資訊網(wǎng)——每日最新資訊28at.com

3kD28資訊網(wǎng)——每日最新資訊28at.com

熔斷器的作用3kD28資訊網(wǎng)——每日最新資訊28at.com

工作原理也和上文提到的宿舍電路里的斷路器類似。當(dāng)服務(wù)調(diào)用失敗的次數(shù)超過某個閾值時,熔斷器會自動“打開”(Open),阻止進(jìn)一步的服務(wù)調(diào)用,防止不斷報錯重試導(dǎo)致壓垮被調(diào)用服務(wù)。3kD28資訊網(wǎng)——每日最新資訊28at.com

然后在在一段時間之后,熔斷器開始嘗試允許少量的請求通過,以檢查服務(wù)是否已經(jīng)恢復(fù),也就是所謂的“半打開”(HalfOpen)。3kD28資訊網(wǎng)——每日最新資訊28at.com

如果這些請求成功,熔斷器會“關(guān)閉”(Close),系統(tǒng)恢復(fù)正常的服務(wù)調(diào)用;但如果調(diào)用還是失敗,那熔斷器會繼續(xù)再次回到“打開”(Open)狀態(tài)。3kD28資訊網(wǎng)——每日最新資訊28at.com

上面提到的三個狀態(tài)Open,HalfOpen和Close是服務(wù)熔斷中非常重要的三個狀態(tài)。3kD28資訊網(wǎng)——每日最新資訊28at.com

  •  Closed(關(guān)閉):這是熔斷器的初始狀態(tài)。在這種狀態(tài)下,可以進(jìn)行服務(wù)間調(diào)用,熔斷器會跟蹤服務(wù)調(diào)用的成功和失敗情況。如果失敗調(diào)用次數(shù),到了某個配置的閾值,熔斷器就會切換到 Open(打開)狀態(tài)。

3kD28資訊網(wǎng)——每日最新資訊28at.com

熔斷器關(guān)閉3kD28資訊網(wǎng)——每日最新資訊28at.com

  • HalfOpen(半開):保持 Open 狀態(tài)一段時間后,熔斷器會嘗試進(jìn)入 HalfOpen 狀態(tài)。這個狀態(tài)下,熔斷器會嘗試放幾個請求通過,看下被調(diào)用服務(wù)是否已經(jīng)恢復(fù)。如果這些請求成功,熔斷器就會回到 Closed 狀態(tài);如果失敗,那它會退回到 Open 狀態(tài)。

3kD28資訊網(wǎng)——每日最新資訊28at.com

熔斷器半打開3kD28資訊網(wǎng)——每日最新資訊28at.com

  •  Open(打開):當(dāng)熔斷器檢測到服務(wù)調(diào)用連續(xù)失敗時,它會切換到 Open 狀態(tài)。在這種狀態(tài)下,熔斷器會阻止所有對服務(wù)的調(diào)用,直到超時時間過后,或者在 HalfOpen 狀態(tài)下的探測請求成功。

3kD28資訊網(wǎng)——每日最新資訊28at.com

熔斷器打開3kD28資訊網(wǎng)——每日最新資訊28at.com

它們的狀態(tài)流轉(zhuǎn)關(guān)系就像下圖這樣。3kD28資訊網(wǎng)——每日最新資訊28at.com

3kD28資訊網(wǎng)——每日最新資訊28at.com

熔斷狀態(tài)機(jī)3kD28資訊網(wǎng)——每日最新資訊28at.com

怎么使用熔斷器?

可以看出,熔斷器的邏輯其實很簡單,而且這么通用的功能,必然有現(xiàn)成的庫可以直接拿來用。
比如阿里開源的sentinel-golang
使用也比較簡單。只需要三步。3kD28資訊網(wǎng)——每日最新資訊28at.com

1.引入 circuitbreaker 庫

"github.com/alibaba/sentinel-golang/core/circuitbreaker"

2.聲明熔斷規(guī)則

通過circuitbreaker.LoadRules加載對應(yīng)的熔斷規(guī)則。3kD28資訊網(wǎng)——每日最新資訊28at.com

_, err = circuitbreaker.LoadRules([]*circuitbreaker.Rule{        // Statistic time span=5s, recoveryTimeout=3s, maxErrorRatio=40%        {            Resource:                     "api_url",            Strategy:                     circuitbreaker.ErrorRatio,            RetryTimeoutMs:               3000,            MinRequestAmount:             10,            StatIntervalMs:               5000,            StatSlidingWindowBucketCount: 10,            Threshold:                    0.4,        },    })

這里面有幾個需要注意的地方:3kD28資訊網(wǎng)——每日最新資訊28at.com

  •  Resource 是想要保護(hù)的資源名稱,也就是上面提到的 B 服務(wù),這里可以直接使用被調(diào)用方的 url。
  •  Strategy 是指熔斷策略,示例代碼里展示的是錯誤率,也就是說服務(wù)達(dá)到 xx 比例的錯誤率時就會觸發(fā)熔斷。同時這里還支持填其他策略,比如從錯誤率換成錯誤次數(shù)或者是慢調(diào)用的比例個數(shù)。
  •  RetryTimeoutMs 是指熔斷器打開后經(jīng)過多長時間后進(jìn)行重試。在熔斷器 Open 期間,請求會被直接拒絕,不會發(fā)送到后端 Resource(B 服務(wù))。在指定的超時時間之后,熔斷器將嘗試發(fā)送一個請求以檢查后端資源的可用性。
  •  MinRequestAmount 表示在進(jìn)行熔斷之前必須滿足的最小請求數(shù)量。只有當(dāng)請求的數(shù)量達(dá)到或超過這個閾值時,熔斷器才會生效。這個參數(shù)可以用來避免在系統(tǒng)啟動時就觸發(fā)熔斷。
  •  StatIntervalMs 表示統(tǒng)計信息的時間間隔,以毫秒為單位。在這個時間間隔內(nèi),熔斷器將收集請求的統(tǒng)計信息,用于計算錯誤率。
  •  Threshold:表示錯誤率的閾值。當(dāng)錯誤率超過這個閾值時,熔斷器將觸發(fā)熔斷,停止發(fā)送請求到后端資源。

3.加入熔斷保護(hù)

在需要進(jìn)行熔斷保護(hù)的地方,加入下面的代碼:3kD28資訊網(wǎng)——每日最新資訊28at.com

e, b := sentinel.Entry("api_url")        if b == nil {            // 通過檢測,不需要熔斷,直接執(zhí)行api調(diào)用            err := api_call()            if err != nil {                sentinel.TraceError(e, err)            }            // 保證執(zhí)行完之后退出資源            e.Exit()        }

上面的 sentinel.Entry()方法內(nèi)部會自動檢測"api_url"這個資源是否需要打開熔斷器,如果 api 調(diào)用報錯了,可以通過 sentinel.TraceError 記錄下來,sentinel 內(nèi)部會根據(jù)報錯去計算報錯率,自動判斷要不要熔斷。3kD28資訊網(wǎng)——每日最新資訊28at.com

到這里,就算使用上熔斷器的能力啦。3kD28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

  • 服務(wù)熔斷是一種軟件設(shè)計模式,用于分布式系統(tǒng)中處理服務(wù)調(diào)用失敗的情況,可以防止被調(diào)用服務(wù)因為頻繁失敗被壓垮。它借鑒了電路中的斷路器原理,通過監(jiān)控服務(wù)調(diào)用的失敗率等條件來決定是否阻止進(jìn)一步的調(diào)用,以保護(hù)系統(tǒng)免受過載。
  • 服務(wù)熔斷器有三個主要狀態(tài):關(guān)閉(Closed)、半開(HalfOpen)和打開(Open),分別對應(yīng)不同的保護(hù)策略。當(dāng)服務(wù)調(diào)用失敗次數(shù)超過閾值時,熔斷器打開,阻止服務(wù)調(diào)用。在一定時間后,熔斷器嘗試半開狀態(tài),允許少量請求通過以測試服務(wù)恢復(fù)情況。如果服務(wù)恢復(fù),熔斷器關(guān)閉;如果失敗,熔斷器保持打開狀態(tài)。
  • 在 go 語言里可以使用 sentinel-golang 庫實現(xiàn)熔斷功能。

本文鏈接:http://m.www897cc.com/showinfo-26-77684-0.html服務(wù)熔斷是指什么?你知道嗎?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: GaussDB WDR分析之集群報告篇

下一篇: 歷史上那些臭名昭著的編程錯誤

標(biāo)簽:
  • 熱門焦點
  • 三言兩語說透設(shè)計模式的藝術(shù)-單例模式

    寫在前面單例模式是一種常用的軟件設(shè)計模式,它所創(chuàng)建的對象只有一個實例,且該實例易于被外界訪問。單例對象由于只有一個實例,所以它可以方便地被系統(tǒng)中的其他對象共享,從而減少
  • 一篇文章帶你了解 CSS 屬性選擇器

    屬性選擇器對帶有指定屬性的 HTML 元素設(shè)置樣式。可以為擁有指定屬性的 HTML 元素設(shè)置樣式,而不僅限于 class 和 id 屬性。一、了解屬性選擇器CSS屬性選擇器提供了一種簡單而
  • 三分鐘白話RocketMQ系列—— 如何發(fā)送消息

    我們知道RocketMQ主要分為消息 生產(chǎn)、存儲(消息堆積)、消費 三大塊領(lǐng)域。那接下來,我們白話一下,RocketMQ是如何發(fā)送消息的,揭秘消息生產(chǎn)全過程。注意,如果白話中不小心提到相關(guān)代
  • 一個注解實現(xiàn)接口冪等,這樣才優(yōu)雅!

    場景碼猿慢病云管理系統(tǒng)中其實高并發(fā)的場景不是很多,沒有必要每個接口都去考慮并發(fā)高的場景,比如添加住院患者的這個接口,具體的業(yè)務(wù)代碼就不貼了,業(yè)務(wù)偽代碼如下:圖片上述代碼有
  • 微軟邀請 Microsoft 365 商業(yè)用戶,測試視頻編輯器 Clipchamp

    8 月 1 日消息,微軟近日宣布即將面向 Microsoft 365 商業(yè)用戶,開放 Clipchamp 應(yīng)用,邀請用戶通過該應(yīng)用來編輯視頻。微軟于 2021 年收購 Clipchamp,隨后開始逐步整合到 Microsof
  • “又被陳思誠騙了”

    作者|張思齊 出品|眾面(ID:ZhongMian_ZM)如今的國產(chǎn)懸疑電影,成了陳思誠的天下。最近大爆電影《消失的她》票房突破30億斷層奪魁暑期檔,陳思誠再度風(fēng)頭無兩。你可以說陳思誠的
  • AI芯片初創(chuàng)公司Tenstorrent獲三星和現(xiàn)代1億美元投資

    Tenstorrent是一家由芯片行業(yè)資深人士Jim Keller領(lǐng)導(dǎo)的加拿大初創(chuàng)公司,專注于開發(fā)人工智能芯片,該公司周三表示,已經(jīng)從現(xiàn)代汽車集團(tuán)和三星投資基金等
  • iQOO Neo8系列今日官宣:首發(fā)天璣9200+ 全球安卓最強芯!

    在昨日舉行的的聯(lián)發(fā)科新一代旗艦芯片天璣9200+的發(fā)布會上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品將全球首發(fā)搭載這款當(dāng)前性能最強大的移動平臺
  • iQOO Neo8 Pro真機(jī)諜照曝光:天璣9200+和V1+旗艦雙芯加持

    去年10月,iQOO推出了iQOO Neo7系列機(jī)型,不僅搭載了天璣9000+,而且是同價位唯一一款天璣9000+直屏旗艦,一經(jīng)上市便受到了用戶的廣泛關(guān)注。在時隔半年后,
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
翔田千里一区二区| 亚洲国产精品美女| 欧美午夜三级| 欧美日韩精品在线视频| 欧美日韩一区二区在线观看| 国产精品v亚洲精品v日韩精品 | 91久久久久| 日韩亚洲不卡在线| 亚洲影视九九影院在线观看| 午夜欧美理论片| 久久这里只精品最新地址| 欧美激情一区三区| 国产精品v亚洲精品v日韩精品| 国产欧美精品xxxx另类| 亚洲丰满在线| 亚洲午夜一二三区视频| 91久久亚洲| 亚洲一区二区精品视频| 久久久国产精品一区| 欧美精品九九| 国产伦精品一区二区三区视频黑人 | 午夜精品久久久久久久男人的天堂 | 国产女主播一区二区| 黄色综合网站| 一本久道久久综合婷婷鲸鱼| 欧美一区2区三区4区公司二百| 久久在线观看视频| 欧美三级电影一区| 精品动漫3d一区二区三区免费 | 亚洲精品小视频| 午夜亚洲伦理| 欧美激情久久久久| 国产欧美精品| 亚洲作爱视频| 久久久水蜜桃| 欧美视频精品在线| 亚洲国产精品尤物yw在线观看| 亚洲一区二区三区中文字幕| 免费亚洲婷婷| 国产日本亚洲高清| 一本大道久久a久久综合婷婷 | 欧美日韩国产色视频| 国产一区二区三区在线免费观看 | 欧美亚洲综合网| 欧美国产亚洲另类动漫| 国产亚洲一区精品| 亚洲视频一二区| 麻豆九一精品爱看视频在线观看免费 | 久久久久88色偷偷免费| 欧美私人啪啪vps| 亚洲风情亚aⅴ在线发布| 久久av老司机精品网站导航| 欧美午夜精品一区| 亚洲片在线资源| 久久婷婷色综合| 国产精品自拍一区| 亚洲图片欧美午夜| 欧美区日韩区| 国产精品高清免费在线观看| 亚洲七七久久综合桃花剧情介绍| 久久久av毛片精品| 国产伦精品一区二区三区在线观看| 中文成人激情娱乐网| 欧美精品久久一区| 亚洲欧洲一区二区三区| 免费日本视频一区| 尤物在线观看一区| 久久久夜色精品亚洲| 国内一区二区在线视频观看| 国产精品嫩草久久久久| 日韩视频三区| 欧美成人黑人xx视频免费观看| 伊人春色精品| 久久这里有精品15一区二区三区| 在线播放豆国产99亚洲| 另类专区欧美制服同性| 在线日韩av片| 欧美激情第1页| 亚洲免费av片| 欧美日韩视频在线一区二区| 日韩视频三区| 欧美日韩免费视频| 亚洲婷婷在线| 国产精品美女久久久免费| 一区二区三区欧美| 欧美午夜www高清视频| 中文精品在线| 久久久亚洲国产美女国产盗摄| 欧美色123| 亚洲网站在线看| 欧美日韩国产三级| 亚洲亚洲精品三区日韩精品在线视频| 欧美二区视频| 亚洲精品美女91| 欧美成在线观看| 亚洲区在线播放| 欧美激情国产精品| 91久久精品美女| 欧美国产日韩一区二区在线观看| 亚洲电影在线免费观看| 免费观看国产成人| 亚洲国产精品久久人人爱蜜臀| 美女精品在线| 一区二区91| 欧美视频在线免费| 亚洲一级高清| 国产精品综合不卡av| 欧美在线高清| 国产中文一区二区| 欧美xx视频| 亚洲精品免费观看| 欧美国产亚洲另类动漫| 日韩视频免费在线观看| 国产精品sm| 午夜精品久久久久久久久久久久| 国产精品视频在线观看| 久久久999| 经典三级久久| 你懂的一区二区| 亚洲另类自拍| 欧美午夜精品一区二区三区| 亚洲——在线| 国产专区欧美精品| 欧美精品www在线观看| 在线视频精品| 国产精品综合色区在线观看| 久久精品国产亚洲高清剧情介绍| 一区二区三区在线观看欧美| 欧美福利在线| 午夜在线a亚洲v天堂网2018| 国产视频综合在线| 免费不卡视频| 国产精品99久久99久久久二8 | 黄色亚洲网站| 欧美77777| 亚洲天堂av在线免费| 国产精品一区二区久久精品| 在线观看成人av| 欧美日韩中文另类| 午夜一区二区三区不卡视频| 黑人操亚洲美女惩罚| 欧美国产先锋| 校园激情久久| 99国产精品久久| 国产欧美二区| 欧美成年人网站| 亚洲一区二区三区精品在线| 国产在线国偷精品产拍免费yy| 亚洲欧美日韩精品久久| 亚洲啪啪91| 国产乱码精品一区二区三区不卡| 久久亚洲一区二区| 亚洲四色影视在线观看| 国内自拍一区| 欧美日韩麻豆| 久久精品人人| 99视频精品免费观看| 国产日韩在线一区二区三区| 欧美激情精品久久久久久黑人| 午夜精品久久久久久久99黑人| 亚洲国产导航| 国产亚洲欧洲| 欧美色播在线播放| 鲁大师影院一区二区三区| 亚洲一区免费看| 91久久线看在观草草青青| 国产精品久久久久久久久果冻传媒 | 欧美屁股在线| 久久久999精品视频| 亚洲女同同性videoxma| 亚洲国产成人精品女人久久久 | 国产亚洲观看| 国产精品成人观看视频国产奇米| 亚洲在线第一页| 日韩亚洲欧美成人| 狠狠爱www人成狠狠爱综合网| 欧美无砖砖区免费| 免费观看一级特黄欧美大片| 亚洲综合精品四区| 亚洲人成在线影院| 亚洲高清精品中出| 国产香蕉97碰碰久久人人| 欧美日韩免费一区二区三区| 久久免费视频网| 亚洲欧美一区二区三区在线| 在线日本成人| 伊大人香蕉综合8在线视| 国产老女人精品毛片久久| 欧美日韩调教| 欧美大片免费久久精品三p| 久久国产精品一区二区| 中日韩在线视频| 夜夜嗨av一区二区三区中文字幕 | 亚洲网站在线播放| 亚洲精品视频一区| 亚洲电影在线播放| 国产主播一区| 一区二区在线观看视频在线观看| 国产酒店精品激情| 国产精品香蕉在线观看| 欧美日韩在线一区| 欧美久久电影| 欧美精品www在线观看| 欧美成人国产va精品日本一级|