più o meno come quello che volevo creare.
Volendo tralasciare le prestazione visto che si tratta di un carico di 3000 utenti al massimo.
Posso creare un Server fisico master che comunica con un altro Server slave.
praticamente la comunicazione non è altro che l'aggiornamento dello stato del programma, avendo quindi su slave la copia di master.

In caso di problemi, o di manutenzione, passo il carico al server slave che a sua volta si può mettere in attesa che un slave si collegasse a lui e quindi diventerebbe un master.

Come rilevare i problemi? come far entrare in gioco l'altro server?
ho pensato ad un tunneling da router.

L'argomento sembra interessante... mi informerò sulle tue soluzioni
grazie intanto....!!!