4

Ich verwende derzeit Spring Cloud und Feign, um einen Microservice in meiner Anwendung zu verwenden. Da es vorkommen kann, dass eine Datenbankverbindung oder Ähnliches in einer einzelnen Dienstinstanz fehlschlägt und 500 HTTP-Statuscode zurückgibt, möchte ich sicherstellen, dass der nächste Server von den Clients des Dienstes erneut versucht wird. Gegenwärtig funktioniert der Wiederholungsmechanismus von Ribbon wie ein Zauber, wenn der Dienst überhaupt nicht ausgeführt wird, jedoch gibt es immer noch einen Fehler zurück, wenn es einen 500-Statuscode ohne erneuten Versuch empfängt.Feign: Retry abhängig vom Antwortstatus

Ist es möglich, die Feign-Clients oder die ihnen zugrunde liegenden Ribbon Load Balancer zu konfigurieren, um den nächsten Server erneut zu versuchen, wenn eine Instanz eine 500-Antwort zurückgibt?

Die Konfiguration ist so ziemlich das gleiche wie in diesem Thread: Does Feign retry require some sort of configuration?

Ich würde gerne HttpResponseValidator eine Implementierung wie Bänder verwenden (https://github.com/Netflix/ribbon/blob/master/ribbon/src/main/java/com/netflix/ribbon/http/HttpResponseValidator.java), aber ich konnte nichts verwendbar für Frühling Cloud und seine Feign finden/Band Integration

Antwort

Verwandte Themen