Spring Cloud 自主學習總結之熔斷器Hystrix!

1.啥是熔斷器,爲啥要用它?

在微服務架構中通常會有多個服務層調用,基礎服務的故障可能會導致一堆故障

從而造成整個系統的故障,這種現象叫做服務雪崩,服務雪崩是因爲“服務生產者”涼涼而

造成“消費消費者”的不可用,並將不可用逐漸放大的過程!

 

下面放一張圖慢慢看文字進行理解!

注意:藍色代表可以用,橙色代表涼涼。

第一個過程結果是正常的,

第二個過程A作爲服務生產者自己涼涼了

到第三個過程a和b的服務全部掛掉了,

到第四個過程cd調用b的時候發現一路全部掛掉了。

 

Hystrix:中文名字叫豪豬,形容豪豬身上的刺,從而有了保護能力。

hystrix的能力就是在你調用服務實效的時候,通過隔離系統所依賴的服務,

防止服務級聯失敗,同時提供回退的機制,優雅的處理實效問題,並可以更加快的從異常中恢復。

這裏講下個人的理解,在上一篇講feign服務之間的調用,有個問題沒有提出來,就是這個服務之間的調用異常問題,

使用過dubbo框架的朋友肯定對請求超時非常熟悉,在這一點上,它們都是服務之間的調用異常,有很多中原因可能是網咯或者是其他的,但是怎麼去解決這一的異常就是個麻煩的問題,hystrix的出現就好像針對服務之間的調用異常捕獲一樣!

 

下面通過以下段代碼來了解下再項目中如何使用!

首先在yml配置文件添加

feign:
hystrix:
enabled: true

然後就是在調用服務的client包下面創建一個impl包,寫一個熔斷器實現類,

實現調用服務接口!在那個接口方法裏寫如下信息!

接口層的註解也是需要修改下!

@FeignClient(value="base",fallback = LabelClientImpl.class)

 

 

 

 

 

 

 

 

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