簡體   English   中英

如何使用 hystrix 重試

[英]How to retry with hystrix

我有一個封裝了 REST 調用的 hystrix 命令。 如果失敗(例如超時),我想進行一次重試,並在失敗的情況下返回適當的錯誤。

正如我所看到的,Hystrix 不支持重試。 使用 Hystrix 做到這一點的唯一方法是將主要邏輯放入 getFallback() 方法中。 但它看起來並不正確。

那么,使用 hystrix 實現超時的正確方法是什么?

Hystrix本身並不關心它包含什么樣的命令,它不支持重試的想法。 這個想法背后的例子:如果您的命令(包裝REST請求)是參數化的,那么可能需要重試某些資源端點,而不是其他資源端點。 如果兩個命令或多或少相同,也不是技術參數來激活重試,那將不是一件好事。 此外,這將為項目增加一些額外的復雜性。

要解決這個問題並堅持使用Hystrix,如果您正在使用Spring應用程序,可能需要查看SpringRetry

另一個可能的解決方案是resilience4j ,在這種情況下可以看作是Hystrix和SpringRetry的組合。

如果您使用feign進行 API 調用,它支持重試 回退方法中只能執行其他邏輯,重試邏輯留給假裝。

可以參考這個鏈接: https : //medium.com/swlh/how-to-customize-feigns-retry-mechanism-b472202be331

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM