2015-12-03 25 views
4

我正在使用Spring Cloud Brixton.M3和Spring Boot 1.3.0.RELEASE。我在這方面有點新鮮(特別是在Spring Cloud中)。我創建了註冊服務器(即Eureka實例),配置服務器和網關。
根據我的要求,我攔截每個請求在我的篩選器中打到網關,以從頭文件中提取所需的信息,並基於此我使用Feign Client引發異常或轉發/驗證該請求。有些時候,如果無法接觸到相應的服務或因爲其他問題,則會出現HystrixRuntimeExceptionSpring Cloud:如何在Zuul網關中定義Hystrix的默認回退?

所以,我要的是:

  1. 爲每個轉發的請求提供默認備用方法,這樣我可以閱讀和進行相應的處理。
  2. 全局異常處理除@ControllerAdvice以外,因爲我沒有提供任何自定義@HystrixCommand和控制器來調用服務(基於AOP的解決方案?)。
  3. 是否可以攔截每個失敗的請求並重試它們一定次數?在內部它可能會發生,但我可以重寫此功能並處理每個失敗的請求,因爲TimedOutException或HttpConnectionPool異常?

更新
它是一個很好的做法,提供自己的路由在Zuul網關?使用@RestController@HystrixCommand在一起? (我認爲這是一個糟糕的主意,因爲在這段時間內,我們最終將擁有大量的控制器,因此實際使用智能路由將無法按預期工作)

回答

2

當前有一個open issue用於假裝的備用。 zuul還有一個​​回退。

+0

第二個鏈接表示**每條路線回退**。這是否意味着沒有編寫自己的hystrix命令?我的意思是每條路線的默認動態回退?到目前爲止,我從Hystrix Fallback **中瞭解到的是,我們提供'@ HystrixCommand'作爲'fallbackmethod'的參數。這不正確嗎? – agpt

+0

'@ HystrixCommand'不在zuul中使用。 – spencergibb

+0

哦,我明白了。感謝您的提示。儘管我已經更新了我的問題。 ;) – agpt

相關問題