Ich bin auf der Suche nach einer Open-Source-Bibliothek, die programmgesteuert Loadbalancing über eine Reihe von Aufrufen an Knoten beliebiger Form ermöglicht - also keine Annahmen über HTTP oder irgendetwas anderes, nur eine Methode Aufruf an ein Objekt. Im Idealfall würde es die folgenden Funktionen bereitstellen:Gibt es eine gute Open-Source-abstrakte Lastenausgleichsbibliothek für Java?
- verteilt die Last gleichmäßig
- Retry auf einem anderen Knoten, wenn ein Anruf zu einem Knoten einer Ausnahme
- Verschieben eines Knoten zu einem „gebrochenen“ Zustand, wenn ein Anruf wirft Dazu gibt es keine weiteren Aufrufe
- Haben Sie einen Mechanismus für Hintergrund Pings für alle Knoten (gebrochen und aktiv), die gebrochenen in aktiven Zustand wiederherstellen, wenn sie zurückkehren und aktive aktiv in den gebrochenen Zustand, wenn sie Fehler
Ich denke, das sollte schon existieren, aber ein wenig googeln muss es noch finden.
Diese in der Regel in Hardware mit F5 oder Ace erfolgt. – duffymo
Ich denke nicht, dass das in diesem Fall praktikabel ist - wir verwenden eine existierende API, die eine direkte TCP/IP-Socket-Verbindung zu einem entfernten Knoten herstellt, und es gibt kein F5 oder Ass. Es gibt mehrere Knoten, und wir müssen Failover usw. handhaben. Es schien die einfachste Lösung ein Software Load Balancer zu sein. –