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?