Sto progettando un'applicazione distribuita, per ora molto semplice. L'idea è che una volta che l'applicazione è attiva su tutte le macchine (circa 5 vms), puoi iniziare una grep
su tutti i file di log da tutte le macchine da qualsiasi macchina.
Generalmente, i passaggi sarebbero:
- Avvia l'applicazione su tutte le macchine
- Tutte le applicazioni si fermano in una condizione di attesa di
Press [Enter] to continue...
- Una volta premuto
[Enter]
, quella particolare macchina è l'emittente di comandi, per così dire - Digiti il modello desiderato e invia i comandi a tutte le macchine, tirando verso il basso i risultati
In un primo momento, il mio piano era di fare il setup delle connessioni dopo che l'utente ha premuto [Enter]
, impostando una connessione client
per l'host che ha emesso i comandi e server
connessioni sul resto; ma questo sembra non molto scalabile. La mia idea ora è quella di iniziare tutte le connessioni dall'inizio, sia una client
che una server
, e solo sempre il polling server
per le query in entrata.
Questa pratica standard o dovrei guardare un modo diverso per monitorare / configurare le connessioni? Esistono principi di progettazione di base o best practice per la creazione di connessioni distribuite?