日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache Camel中的断路器模式

發(fā)布時(shí)間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache Camel中的断路器模式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

駱駝通常在分布式環(huán)境中用于訪問遠(yuǎn)程資源。 遠(yuǎn)程服務(wù)可能由于各種原因和期間而失敗。 對(duì)于短時(shí)間后暫時(shí)不可用且可恢復(fù)的服務(wù),重試策略可能會(huì)有所幫助。 但是某些服務(wù)可能會(huì)失敗或掛起更長時(shí)間,從而使調(diào)用應(yīng)用程序無響應(yīng)且速度緩慢。 防止級(jí)聯(lián)故障和關(guān)鍵資源耗盡的一個(gè)好策略是Michael Nygard在Release It!中描述的斷路器模式。 書。
斷路器是一種有狀態(tài)模式,用于包裝容易發(fā)生故障的資源并監(jiān)視錯(cuò)誤。 最初,斷路器處于關(guān)閉狀態(tài) ,并將所有調(diào)用傳遞給包裝的資源。 當(dāng)故障達(dá)到某個(gè)閾值時(shí),電路將轉(zhuǎn)為打開狀態(tài) ,在此狀態(tài)下,錯(cuò)誤將錯(cuò)誤返回給調(diào)用方,而沒有實(shí)際調(diào)用包裝的資源。 這樣可以防止已經(jīng)發(fā)生故障的資源過載。 在這種狀態(tài)下,我們需要一種機(jī)制來檢測(cè)故障是否已經(jīng)結(jié)束并開始調(diào)用受保護(hù)的資源。 這就是所謂的半開狀態(tài)的第三個(gè)狀態(tài)。 在上次故障之后的一定時(shí)間后達(dá)到此狀態(tài)。 在這種狀態(tài)下,調(diào)用將傳遞到受保護(hù)的資源,但是調(diào)用的結(jié)果很重要。 如果調(diào)用成功,則假定受保護(hù)的資源已恢復(fù)并且電路進(jìn)入關(guān)閉狀態(tài) ,如果調(diào)用失敗,則重置超時(shí),并將電路移回到拒絕所有調(diào)用的打開狀態(tài) 。 這是Martin Fowler 帖子中Circuit Breaker的狀態(tài)圖:

駱駝如何實(shí)現(xiàn)斷路器?

Camel的最新快照版本提供了Circuit Breaker,作為負(fù)載均衡器策略。
Camel負(fù)載平衡器已經(jīng)具有用于Round Robin,Random,Failover等的策略,現(xiàn)在還具有CircuiBreaker策略。

這是一個(gè)示例負(fù)載均衡器,它使用具有2個(gè)錯(cuò)誤的閾值和1秒的HalfOpenAfter超時(shí)閾值的斷路器策略。 還要注意,此策略僅適用于由MyCustomException引起的錯(cuò)誤

new RouteBuilder() {public void configure() {from("direct:start").loadBalance().circuitBreaker(2, 1000L, MyCustomException.class).to("mock:result");} };

這是使用Spring XML DSL的相同示例:

<route><from uri="direct:start"/><loadBalance><circuitBreaker threshold="2" halfOpenAfter="1000"><exception>MyCustomException</exception></circuitBreaker><to uri="mock:result"/></loadBalance> </route>

翻譯自: https://www.javacodegeeks.com/2014/04/circuit-breaker-pattern-in-apache-camel.html

總結(jié)

以上是生活随笔為你收集整理的Apache Camel中的断路器模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。