Newsgroup: it.comp.java
Titolo: FailOver Cluster

Salve,
ho bisogno di una informazione,
Ho una applicazione server, naturalmente scritta in java, la quale
deve essere inserita in  un failover cluster.
Cioe' devo avere due istanze attive di questo server, una master e
l'altra slave quando la master "cade" deve subentrare la slave (il
classico failover cluster), le istanze girano su macchine differenti.
Purtroppo:
 - l'applicazione non si appoggia a nessun framework o altro..
 - non posso appoggiarmi a nessun servizio della macchina (es:
ldirector)
Per cui, prima di  scrivere del codice mio, stavo cercando qualche
libreria GRATUITA che mi permetta di risolvere questo problema.
Sapete mica se esistono librerie di questo tipo?

 (Beyond Good and Evil)
Scusa in effetti ho tralasciato qualche aspetto.
I due processi sono sempre attivi, però lo slave deve essere attivo ma
non deve far nulla.
Purtroppo i processi non girano su un cluster hardware e non posso
installare nessun servizio che mi aiuti, perciò lo devo gestire io.

continuo al processo "master" se e' ancora vivo o no.
OK stessa mia idea, speravo che ci fosse qualcosa di gia fatto.


prova a dare un'occhiata a terracotta cluster...


Solitamente puoi appoggiarti ad una soluzione di cluster HA come quella 
offerta da red hat, oppure puoi realizzare tu il supporto con software 
open-source ampiamente disponibile, oppure realizzare una sorta di 
gestione a livello del tuo programma software...questo quello che mi 
viene in mente...

Il 15/11/10 10.31, Rock ha scritto:

non ho capito cosa intendi per "applicazione server", in ogni caso 
quello che devi fare � re-ingegnerizzare la tua applicazione per 
ricondurla ad una o pi� tecnologie enterprise, ovviamente se non � gi� 
cos�. tutte le tecnologie enterprise, dai servizi web agli ejb, ai jms 
fino agli mbean *prevedono* by design tutti gli strumenti per gestire il 
failover.

 viene in mente...
Siccome  non posso appoggiarmi a dei servizi del OS devo realizzarlo
via software.
Ora provo Terracotta che mi hai consigliato, anche se mi sembra un
prodotto commerciale cmq controllerò meglio

 failover.
E' una applicazione che gira come servizio su linux RedHat o Suse, non
è un server web o altro, possiede una semplice interfaccia grafica
(Swing), purtroppo non si appoggia a nessuna tecnologia enterprise e
re-ingegnerizzarla mi spaventa un po' soprattutto x questione di tempo.

 re-ingegnerizzarla mi spaventa un po' soprattutto x questione di tempo.
se non vuoi/puoi reingegnerizzare il software la soluzione è nel
cluster del sistema operativo (tipicamente piranha/lvs). ma se come
leggo devi realizzarlo via software non vedo strade percorribili in
modo meno traumatico di questo. il fatto che giri come servizio lascia
pensare che l'interazione utente sia limitata: ora non voglio
esagerare nella semplificazione ma se hai separato bene la parte
presentazione dalla business logic trasformare quest'ultima in un mdb
(message driven bean) si riduce in una operazione di copia e incolla.

 prodotto commerciale cmq controllerň meglio
ok, tienici aggiornati...

 via software.
perchè no ? In un altro messaggio hai detto che è un'applicazione che 
gira sotto red hat o opensuse. Puoi utilizzare red hat cluster suite e 
magari creare degli script per l'avvio, l'arresto del servizio.


Magari possessi fare cosi, purtroppo su quelle macchine girano altre
processi in architettura FAilover Cluster.
Fin qui nessun problema anzi...
Il cliente pero' vuole che su una macchina ci può girare per esemprio
il processo  A come master e il processo B come slave, per cui
sull'altra macchina ci sarà A come slave e  B come master.
In conclusione utilizzando tecnologie legate al OS (es: Heartbeat) non
riescono a realizzare lo scenario precedente.
Grazie per l'aiuto.

 fare e' un altro discorso.
ora faccio una ricerca e vedo come si fa (non voglio fare il polemico
con il sysAdmin e poi fare la figura di dell'ignorante), poi magari lo
contatto e ne parlo con lui, magari ci hanno provato ma hanno trovato
dei problemi non so.

 ok, tienici aggiornati...
Come è andata con Terracotta ?
Aggiornaci...



Ho dato solo una occhiata, per ora devo solo analizzare il problema,
poi si implementerà in futuro