Diciamo che ho più server websocket che mantengono molte connessioni ai client per inviare aggiornamenti. Questi server Websocket estrarranno tali aggiornamenti da un broker di rabbitmq e li trasmetteranno a tutti i clienti rilevanti che si trovano in una pagina che necessita di un aggiornamento.
La mia domanda è: come possono tutti i clienti che si trovano sulla pagina [x] ottenere un aggiornamento se sono suddivisi su più server websocket? WS-server-A riceverà un aggiornamento e lo inoltrerà a tutti i suoi client sulla pagina [x], ma cosa ne pensi dei client connessi a WS-server-b che ha clienti sulla stessa pagina?
(modificato sotto per aggiungere ulteriori dettagli)
Il modo in cui immagino questo scenario è così:
Per un forum immaginario, abbiamo un server Web multi-thread che esegue il rendering delle pagine e risponde alle chiamate API. Quando qualcuno salva un post su un argomento, il server Web salva il post sul db, quindi passa il post a rabbitmq.
Rabbitmq inoltra questo post allo scambio pertinente (ad esempio, "nuovi post".) Esistono anche altri scambi: "nuovi argomenti", "avvisi", ecc.), in cui il server Websocket lo preleva, esamina il " intestazione "e inoltra il post a tutti gli utenti che si trovano nella pagina pertinente.