Dalla mia esperienza, questo problema non è risolto direttamente da alcun approccio attuale né ha una soluzione lineare. In realtà, separarli su macchine diverse non è una soluzione immediata per tale questione.
Anche noi sperimentiamo forti cali e messaggi come “il sito è estremamente occupato, quindi ti stai mostrando come se non fossi connesso” quando si verifica un evento importante (come un gioco, come ha detto @ljpp), e ciò trascina giù l’intero sito, non solo le persone all’interno di quel topic.
Quindi, ho provato due cose diverse: una configurazione separata e una “macchina grande”. Entrambe presentano questo tipo di problemi. Le mie istanze sono monitorate con Prometheus e i log sono visibili su Grafana, ecc., quindi ho un controllo molto granulare sulle prestazioni hardware/container e posso confermare che, in realtà, non importa cosa si faccia, il problema si verifica comunque.
Se metti una macchina grande dietro di essa, potresti ritardarlo leggermente, ma otterrai comunque errori e cadute di sessione, e la macchina rimarrà con un utilizzo quasi nullo, sia per disco, CPU o RAM. Questo accade sia con l’“installazione predefinita” che con le installazioni a “due container”.
Con macchine diverse, il problema è lo stesso, indipendentemente dal fatto che le macchine siano dello stesso tipo o che una sia “CPU-Optimized” e l’altra “Disk-Optimized”, ecc. A questo devi aggiungere anche il livello aggiuntivo di possibile guasto della connessione tra due macchine diverse, che inevitabilmente introdurrà latenza, sebbene questa quantità di latenza possa variare in base a come configuri tale connessione e a “quanto distanti” siano le due macchine l’una dall’altra. Tuttavia, otterrai lo stesso comportamento.
Come nota, questo tipo di comportamento si verifica anche con cose come il plugin Babel; tuttavia, mi sembra che il plugin Babel possa gestire molte più scritture “simultanee”, anche se le “chat” sono in realtà topic nascosti. La differenza sta nel modo in cui vengono presentate e “aggiornate”/“recuperate”. Questa differenza di comportamento mi ha portato alla conclusione che si tratti di una correlazione applicativa che deriva da un problema di tipo FrontEnd che “fa crashare” l’app (essendo il FrontEnd non il mio ambito di competenza, a differenza del BackEnd) e dalle operazioni in corso tramite la pubblicazione e le persone che rimangono su un topic in attesa che si “aggiorni da solo” con decine di messaggi in un singolo minuto.
A questo devi aggiungere anche il fattore umano: quando le persone percepiscono che il sito è “lento” o che un topic “non si aggiorna velocemente come dovrebbe”, premeranno F5 all’infinito, aggiungendo ulteriore carico. Ma buona fortuna nel “educare” su questo aspetto 