Ich wollte ein Muster implementieren, die automatisch oder manuell alle Anforderungen an einen externen Dienst (d. H. Port) für einen Zeitraum zu stoppen, wenn Fehlerprozent einen Schwellenwert überschreitet. Ich habe zwei Serverinstanzen, die auf demselben Rechner mit unterschiedlichen Ports laufen (zB: 2401, 2402).Wie Load Balancer in Java implementieren
Jetzt ist die Anforderung, wenn Port 2401 Fehler Prozentschwelle übergibt, dann wollte ich alle Anfragen an diesen Port (2401) für einen bestimmten Zeitraum stoppen und zu einem anderen Port (2402) routen. Welcher Algorithmus dafür geeignet ist, bin ich nicht sicher.
Ich habe einige Artikel gelesen, aber keine Informationen über die Load Balancer-Implementierung in Java-Code.
Vielen Dank im Voraus, Sateesh
Werfen Sie einen Blick auf Hystrix CircuitBreaker impl (die Hystrix-Befehle). Sie brauchen LB nicht dafür –
Wenn wir jedoch einen Leistungsschalter auf eine Methode anwenden, überwacht Hystrix, ob Aufrufe dieser Methode fehlschlagen. Wenn Fehler bis zu einem Schwellenwert aufgebaut werden, öffnet Hystrix die Schaltung, sodass nachfolgende Aufrufe automatisch fehlschlagen. Ich bin mir bei diesem Training nicht sicher. –
Sie können die Methode "getFallback" überschreiben, und von dort aus können Sie mit einem anderen Befehl die zweite Dienstinstanz aufrufen. –