Ho intenzione di avere un server che consumi tutti i dati inviati dai client. Voglio usare il sistema di messaggistica (RabbitMQ) per evitare tutti i problemi con la scoperta di servizi, recuperi e così via. Il client pubblica il messaggio ogni volta che il broker dei messaggi è disponibile (ogni volta che la connessione è disponibile). Quindi, il mio server è affondato qui e raccoglie tutti i dati ogni volta che i dati mostrano.
Ma non so come risolvere il seguente problema. Voglio inviare un messaggio a tutti i clienti. Posso pubblicare iscriviti, ma perderò tutti i client che non erano connessi in questo momento.
Quindi le mie domande sono:
- come posso assicurare che tutti i client ricevano il messaggio anche quando non era connesso al server? Non voglio occuparmi di alcune magie, o di negoziare ciò che è stato già inviato, e cosa no. Un'altra soluzione è creare e mantenere la coda per un particolare client, ma vorrei evitarlo. A meno che non riesca a pubblicare per argomento e alla fine atterra in ciascuna coda dei client
- o, come dovrebbe essere fatto in generale?
EDIT: la pubblicazione dello scambio sulle code multiple per ogni cliente con il durevole ha impostato su true un'opzione?