Hystrix

吾嘗終日而思矣涧偷,不如須臾之所學以莽鸭。


豪豬
調(diào)用流程

相關實現(xiàn):
繼承HystrixCommand/HystrixObservableCommand并重寫run()/construct()劣摇,執(zhí)行對應的execute()/queue()/observe()/toObservable()方法,就算是用上這頭豬茁裙。

客戶端底層代碼也必須要有超時設置塘砸,不能無限制的阻塞以致線程池一直飽和。
.withExecutionTimeoutInMilliseconds(5000)
  • 熔斷器
開啟熔斷晤锥,10s內(nèi)請求滿足3個掉蔬,且80%的都失敗了,熔斷矾瘾。
熔斷后每隔5秒女轿,放進來一部分請求, 成功了就取消熔斷。
.withCircuitBreakerEnabled(true)
.withCircuitBreakerRequestVolumeThreshold(3)
.withCircuitBreakerErrorThresholdPercentage(80)
.withCircuitBreakerSleepWindowInMilliseconds(5)
  • 線程池
3個線程壕翩,超過就降級蛉迹。
.withCoreSize(3)
  • 信號量
開啟信號量,并發(fā)超過3就降級放妈。降級并發(fā)超過1北救,拋異常荐操。
比起線程池,減少了線程開銷珍策,適用于緩存場景托启。
.withExecutionIsolationStrategy(ExecutionIsolationStrategy.SEMAPHORE)   
.withExecutionIsolationSemaphoreMaxConcurrentRequests(3)
.withFallbackIsolationSemaphoreMaxConcurrentRequests(1)
  • 降級
一般在run方法中出現(xiàn)受檢異常就會走這個降級方法。我們也可以在run方法中攘宙,拋出非受檢異常屯耸,就不會走降級方法了。
重寫這個方法就實現(xiàn)了模聋〖缑瘢可以在這里完成各種玩法,返回默認值链方,讀redis,調(diào)用另外服務等灶搜。
@Override
protected String getFallback() {
    return "fallback: " + name;
}
  • 走緩存
HystrixRequestContext.initializeContext()
中間執(zhí)行的祟蚀,如果getCacheKey一樣,會走緩存割卖。
context.shutdown()
重寫此方法前酿,根據(jù)返回值判斷是否走緩存。
@Override
    protected String getCacheKey() {
        return String.valueOf(value) + value1;
    }
  • 合并
 HystrixRequestContext.initializeContext()
中間執(zhí)行的鹏溯,運行間隔太短就會合并請求(還沒搞明白罢维。。)丙挽。
context.shutdown()
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肺孵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颜阐,更是在濱河造成了極大的恐慌平窘,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凳怨,死亡現(xiàn)場離奇詭異瑰艘,居然都是意外死亡,警方通過查閱死者的電腦和手機肤舞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門紫新,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人李剖,你說我怎么就攤上這事芒率。” “怎么了杖爽?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵敲董,是天一觀的道長紫皇。 經(jīng)常有香客問我,道長腋寨,這世上最難降的妖魔是什么聪铺? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮萄窜,結(jié)果婚禮上铃剔,老公的妹妹穿的比我還像新娘。我一直安慰自己查刻,他們只是感情好键兜,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著穗泵,像睡著了一般普气。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上佃延,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天现诀,我揣著相機與錄音,去河邊找鬼履肃。 笑死仔沿,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的尺棋。 我是一名探鬼主播封锉,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼膘螟!你這毒婦竟也來了成福?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤萍鲸,失蹤者是張志新(化名)和其女友劉穎闷叉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脊阴,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡握侧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嘿期。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片品擎。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖备徐,靈堂內(nèi)的尸體忽然破棺而出萄传,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布秀菱,位于F島的核電站振诬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏衍菱。R本人自食惡果不足惜赶么,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脊串。 院中可真熱鬧辫呻,春花似錦、人聲如沸琼锋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缕坎。三九已至怖侦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間念赶,已是汗流浹背础钠。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叉谜,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓踩萎,卻偏偏與公主長得像停局,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子香府,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

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

  • 原文:https://my.oschina.net/7001/blog/1619842 摘要: Hystrix是N...
    laosijikaichele閱讀 4,308評論 0 25
  • 前言 微服務架構(gòu)以其輕量級董栽、易擴展、穩(wěn)定性高等特點企孩,近幾年受到了熱烈的追捧锭碳,從互聯(lián)網(wǎng)項目到企業(yè)級系統(tǒng),都紛紛開始采...
    王勇1024閱讀 700評論 0 1
  • 一勿璃、推薦閱讀 可能有部分同學對 Hystrix 的特性了解的不是很清晰擒抛,推薦如下文章,寫的真的好补疑; 《【翻譯】Hy...
    JiMingQiang閱讀 1,212評論 0 7
  • hystrix是什么歧沪? 在微服務場景中,通常會有很多層的服務調(diào)用莲组。如果一個底層服務出現(xiàn)問題诊胞,故障會被向上傳播給用戶...
    段永平閱讀 417評論 0 0
  • 流程圖 下圖展示了當你使用 Hystrix 來包裝你請求依賴服務時的流程: 接下來將詳細介紹如下問題: 1.構(gòu)建H...
    KingsChan閱讀 5,997評論 0 21