Spring Cloud系列三 之 Hystrix斷路器

聲明本篇文章部分內(nèi)容參考自 程序猿DD Spring Cloud系列書籍


斷路器模式源于Martin Fowler的Circuit Breaker一文皇型《氐“斷路器”本身是一種開關(guān)裝置涣楷,用于在電路上保護(hù)線路過載,當(dāng)線路中有電器發(fā)生短路時(shí)拭卿,“斷路器”能夠及時(shí)的切斷故障電路墨礁,防止發(fā)生過載、發(fā)熱、甚至起火等嚴(yán)重后果伊佃。

在分布式架構(gòu)中窜司,斷路器模式的作用就像是生活中家庭用電,一旦發(fā)生短路航揉,就立馬斷電塞祈,不讓災(zāi)難蔓延。

Netflix Hystrix

在Spring Cloud中使用了Hystrix 來實(shí)現(xiàn)斷路器的功能帅涂。Hystrix是Netflix開源的微服務(wù)框架套件之一议薪,該框架目標(biāo)在于通過控制那些訪問遠(yuǎn)程系統(tǒng)、服務(wù)和第三方庫的節(jié)點(diǎn)媳友,從而對(duì)延遲和故障提供更強(qiáng)大的容錯(cuò)能力斯议。Hystrix具備擁有回退機(jī)制和斷路器功能的線程和信號(hào)隔離,請(qǐng)求緩存和請(qǐng)求打包醇锚,以及監(jiān)控和配置等功能哼御。

在Spring Cloud中使用Hystrix組件,是非常容易的焊唬,只需要兩個(gè)注解

  • 準(zhǔn)備工作

首先啟動(dòng)(eureka-server)服務(wù)注冊(cè)中心恋昼,兩個(gè)Service服務(wù)

  • 添加Hystrix斷路器組件

只需要引入Hystrix依賴,在Ribbon負(fù)載均衡應(yīng)用啟動(dòng)類添加@EnableCircuitBreaker

@SpringBootApplication
@EnableDiscoveryClient
@EnableCircuitBreaker
public class RibbonApplication {
    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
    public static void main(String[] args) {
        SpringApplication.run(RibbonApplication.class, args);
    }
}

改造原來的服務(wù)消費(fèi)方式求晶,新增ComputeService類焰雕,在使用ribbon消費(fèi)服務(wù)的函數(shù)上增加@HystrixCommand注解來指定回調(diào)方法。

@Service
public class ComputeService {
    @Autowired
    RestTemplate restTemplate;
    @HystrixCommand(fallbackMethod = "addServiceFallback")//回調(diào)方法
    public String addService() {
        return restTemplate.getForEntity("http://COMPUTE-SERVICE/add?a=10&b=20", String.class).getBody();
    }
    public String addServiceFallback() { //回調(diào)方法
        return "error";
    }
}

本文標(biāo)題:Dekel Tankel 談 Cloud Foundry 與 Spring 前景
本文地址:https://www.oschina.net/news/68979/cloudfundry-meetup

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吝秕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子空幻,更是在濱河造成了極大的恐慌烁峭,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秕铛,死亡現(xiàn)場離奇詭異约郁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)但两,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門鬓梅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谨湘,你說我怎么就攤上這事绽快〗嫔ィ” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵坊罢,是天一觀的道長续担。 經(jīng)常有香客問我,道長活孩,這世上最難降的妖魔是什么物遇? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮诱鞠,結(jié)果婚禮上挎挖,老公的妹妹穿的比我還像新娘。我一直安慰自己航夺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布崔涂。 她就那樣靜靜地躺著阳掐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冷蚂。 梳的紋絲不亂的頭發(fā)上缭保,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音蝙茶,去河邊找鬼艺骂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛隆夯,可吹牛的內(nèi)容都是我干的钳恕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蹄衷,長吁一口氣:“原來是場噩夢啊……” “哼忧额!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起愧口,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤睦番,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后耍属,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體托嚣,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年厚骗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了示启。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溯捆,死狀恐怖丑搔,靈堂內(nèi)的尸體忽然破棺而出厦瓢,到底是詐尸還是另有隱情,我是刑警寧澤啤月,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布煮仇,位于F島的核電站,受9級(jí)特大地震影響谎仲,放射性物質(zhì)發(fā)生泄漏浙垫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一郑诺、第九天 我趴在偏房一處隱蔽的房頂上張望夹姥。 院中可真熱鬧,春花似錦辙诞、人聲如沸辙售。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旦部。三九已至,卻和暖如春较店,著一層夾襖步出監(jiān)牢的瞬間士八,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工梁呈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留婚度,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓官卡,卻偏偏與公主長得像蝗茁,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子味抖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容