面試-springcloud ribon/feign/hystrix 關係

推薦相關文章鏈接 https://www.jianshu.com/p/51c5e28c9574
首先 如果要發起api請求,需要 httpclient ,也就是我們的feign,
如果我們考慮一下,如果請求數量較多的時候就需要做負載均衡,ribon 就是客戶端負載均衡,根據配置的負載均衡策略進行請求,如果同一請求的數量較大時,需要將請求合併,而且每一個請求需要進行線程隔離,也就是我們hystrix 出場了,這是我們按照需求分析的三個組件的作用,然後我們按照請求的流程分析一下,

服務調用方準備發起請求,首選去註冊中心拿出所有的地址列表,然後根據ribon負載均衡策略進行選擇目標地址,然後調用feignclient 發起請求,發起請求的線程是在hystrix 控制的線程隔離區內執行,此時如果發生異常,將調用hystrix的異常配置返回配置的錯誤信息,避免長時間阻塞服務調用。如果多次調用該目標服務器均爲失敗,則會將服務器標記爲不可用,下次調用則改爲另外一臺服務器,直至該服務器恢復。
從網上看到一個較爲詳細的請求流程圖:如下
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章