溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java熔斷器設(shè)計如何實現(xiàn)

發(fā)布時間:2022-01-14 20:06:29 來源:億速云 閱讀:231 作者:iii 欄目:編程語言

這篇文章主要介紹“java熔斷器設(shè)計如何實現(xiàn)”,在日常操作中,相信很多人在java熔斷器設(shè)計如何實現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java熔斷器設(shè)計如何實現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

狀態(tài)模式

我們已一個開關(guān)為例

java熔斷器設(shè)計如何實現(xiàn)

java熔斷器設(shè)計如何實現(xiàn)

在每一種狀態(tài)下,context不必關(guān)心每一種狀態(tài)下的行為。交給每一種狀態(tài)自己處理。

熔斷器基本原理

熔斷器是當(dāng)依賴的服務(wù)已經(jīng)出現(xiàn)故障時,為了保證自身服務(wù)的正常運行不再訪問依賴的服務(wù),防止雪崩效應(yīng)

java熔斷器設(shè)計如何實現(xiàn)

熔斷器本身就是一個狀態(tài)機。

關(guān)閉狀態(tài):熔斷器的初始化狀態(tài),該狀態(tài)下允許請求通過。當(dāng)失敗超過閥值,轉(zhuǎn)入打開狀態(tài),

打開狀態(tài):熔斷狀態(tài),該狀態(tài)下不允許請求通過,當(dāng)進(jìn)入該狀態(tài)經(jīng)過一段時間,進(jìn)入半開狀態(tài)。

半開狀態(tài):在半開狀態(tài)期間,允許部分請求通過,在半開期間,觀察失敗狀態(tài)是否超過閥值。如果沒有超過進(jìn)入關(guān)閉狀態(tài),如果超過了進(jìn)入關(guān)閉狀態(tài)。如此往復(fù)。

之前,查了一些資料,網(wǎng)上所有的資料幾乎都是針對Hystrix的。這個只是針對分布式系統(tǒng)的接口請求,并不能運用于我們的系統(tǒng)中,因此這種情況下,根據(jù)原理自己實現(xiàn)了一個基本的分布式熔斷器,數(shù)值與計數(shù)器存放在redis中,因為redis的操作客戶端不一樣,我就以本地熔斷器為例,講解熔斷器實現(xiàn)。

希望我的文章能對于理解熔斷器,以及需要熔斷器的人有所幫助。

簡單的本地熔斷器實現(xiàn)

一個基本的本地熔斷器。

java熔斷器設(shè)計如何實現(xiàn)

image.png

對外暴露接口

熔斷器對外暴露接口

java熔斷器設(shè)計如何實現(xiàn)

熔斷器狀態(tài)對外暴露接口

java熔斷器設(shè)計如何實現(xiàn)

三種狀態(tài)

關(guān)閉狀態(tài)實現(xiàn):

java熔斷器設(shè)計如何實現(xiàn)

java熔斷器設(shè)計如何實現(xiàn)

打開狀態(tài)

java熔斷器設(shè)計如何實現(xiàn)

半開狀態(tài)

java熔斷器設(shè)計如何實現(xiàn)

java熔斷器設(shè)計如何實現(xiàn)

熔斷器

抽象熔斷器

java熔斷器設(shè)計如何實現(xiàn)

java熔斷器設(shè)計如何實現(xiàn)

本地熔斷器

java熔斷器設(shè)計如何實現(xiàn)

測試?yán)?/p>

java熔斷器設(shè)計如何實現(xiàn)

java熔斷器設(shè)計如何實現(xiàn)

結(jié)果

java熔斷器設(shè)計如何實現(xiàn)

到此,關(guān)于“java熔斷器設(shè)計如何實現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI