Sto cercando una libreria open source che consenta il bilanciamento del carico programmatico attraverso un insieme di chiamate a nodi di forma arbitraria, quindi nessuna supposizione su HTTP o qualsiasi altra cosa, solo una chiamata di metodo su un oggetto. L'ideale sarebbe fornire le seguenti funzionalità:Esiste una buona libreria di bilanciamento del carico astratto open source per Java?
- bilancia il carico ugualmente
- Retry su un nodo diverso se una chiamata a un nodo genera un'eccezione
- spostare un nodo ad uno stato "spezzato" se una chiamata ad esso non riesce e non effettua ulteriori chiamate
- Avere un meccanismo per eseguire ping in background su tutti i nodi (interrotti e attivi) che ripristinano quelli danneggiati allo stato attivo quando ritornano e spostano in modo proattivo quelli attivi in stato di errore se essi fail
Credo che questo dovrebbe già esistere, ma alcuni googling devono ancora trovarlo.
Questo è solitamente fatto in hardware utilizzando F5 o Ace. – duffymo
In questo caso non penso che sia pratico: stiamo utilizzando un'API esistente che esegue una connessione socket TCP/IP diretta a un nodo remoto e non c'è F5 o asso. Ci sono più nodi e dobbiamo gestire il failover ecc. Sembrava che la soluzione più semplice fosse un bilanciamento del carico del software. –