根據理解,Hystrix回退邏輯在發生某些情況時觸發,例如請求超時,執行緒池以100%的容量運行或依賴關系拋出例外。除了這3個因素外,我還可以添加更多的條件,這些條件也被認為是失敗的,例如413(負載太大)等任何特定的HTTP錯誤代碼?
uj5u.com熱心網友回復:
豪豬的備用方法將在以下條件下被稱為
開路
信號/執行緒池拒絕
執行失敗(按你的方法排除HystrixBadRequestException拋出的任何例外)
您的方法超時(hystrix超時)
只有部分臨時t直接關系到用戶代碼執行失敗。
在這種情況下,回退將由run()方法拋出的任何例外觸發。純Hystrix通過HystrixCommand和Hystrix Javanica通過注釋完全相同。
只有一個例外,它不會觸發HystrixBadRequestException
因此,如果你想也觸發回退的HTTP 413狀態碼,你必須只是扔你的方法中的任何例外。
如果您正在使用任何內置Hystrix支持(如Spring Cloud Feign)的庫,則需要實作該庫所需的一些內容。在Spring Cloud Feign的情況下,您可以實施自己的ErrorDecoder。默認錯誤解碼器將觸發所有4XX,5XX錯誤的后備。如果您不想觸發除413之外的任何后退4XX錯誤,則可以在其中輸入HystrixBadRequestException。
uj5u.com熱心網友回復:
繼承HystrixCommand類重寫run方法里面拋個例外可以嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/24743.html
標籤:其他技術討論專區
上一篇:0463. Island Perimeter (E)
下一篇:我是一個跳表
