Estoy buscando una biblioteca de código abierto que permita el equilibrio de la carga programática en un conjunto de llamadas a nodos de forma arbitraria, por lo que no hay suposiciones sobre HTTP o cualquier otra cosa, solo un método de invocación de un objeto. Lo ideal sería proporcionar la siguiente funcionalidad:¿Existe una buena biblioteca de equilibrio de carga abstracta de código abierto para Java?
- equilibra la carga por igual
- reintento en un nodo distinto si una llamada a un nodo emite una excepción
- Mover un nodo a un estado "roto" si una llamada falla y no lo llama más
- Tiene un mecanismo para hacer ping de fondo a todos los nodos (rotos y activos) que restaurará los que están rotos al estado activo cuando regresen y moverá los activos activos a estado interrumpido si fallar
Siento que esto debería existir, pero aún no lo he encontrado.
Esto se hace generalmente en el hardware utilizando F5 o As. – duffymo
No creo que sea práctico en este caso: estamos utilizando una API existente que hace una conexión directa de socket TCP/IP a un nodo remoto y no hay F5 o ace. Hay varios nodos, y necesitamos gestionar la conmutación por error, etc. Parecía que la solución más simple sería un equilibrador de carga de software. –