4
我正在使用Spring Cloud Brixton.M3和Spring Boot 1.3.0.RELEASE。我在這方面有點新鮮(特別是在Spring Cloud中)。我創建了註冊服務器(即Eureka實例),配置服務器和網關。
根據我的要求,我攔截每個請求在我的篩選器中打到網關,以從頭文件中提取所需的信息,並基於此我使用Feign Client
引發異常或轉發/驗證該請求。有些時候,如果無法接觸到相應的服務或因爲其他問題,則會出現HystrixRuntimeException
。Spring Cloud:如何在Zuul網關中定義Hystrix的默認回退?
所以,我要的是:
- 爲每個轉發的請求提供默認備用方法,這樣我可以閱讀和進行相應的處理。
- 全局異常處理除
@ControllerAdvice
以外,因爲我沒有提供任何自定義@HystrixCommand
和控制器來調用服務(基於AOP的解決方案?)。 - 是否可以攔截每個失敗的請求並重試它們一定次數?在內部它可能會發生,但我可以重寫此功能並處理每個失敗的請求,因爲
TimedOutException
或HttpConnectionPool異常?
更新
它是一個很好的做法,提供自己的路由在Zuul網關?使用@RestController
和@HystrixCommand
在一起? (我認爲這是一個糟糕的主意,因爲在這段時間內,我們最終將擁有大量的控制器,因此實際使用智能路由將無法按預期工作)
第二個鏈接表示**每條路線回退**。這是否意味着沒有編寫自己的hystrix命令?我的意思是每條路線的默認動態回退?到目前爲止,我從Hystrix Fallback **中瞭解到的是,我們提供'@ HystrixCommand'作爲'fallbackmethod'的參數。這不正確嗎? – agpt
'@ HystrixCommand'不在zuul中使用。 – spencergibb
哦,我明白了。感謝您的提示。儘管我已經更新了我的問題。 ;) – agpt