Vorrei mettere insieme un sistema in cui i client ottengano messaggi da un'API REST, ma con il produttore che è in grado di utilizzare la semantica di una coda di messaggi: ad es. ordinamento di messaggi, una casella di posta di destinazione, ecc.
Immagino di poter avere una coda di messaggi per client.
Quando un client si connette a uno degli endpoint WebStore / REST senza stato N per OTTENERE nuovi messaggi, tutti i nuovi messaggi vengono rimossi dalla coda del client nella coda messaggi, impacchettati e inviati al client come risposta a GET.
Penso che ci siano alcuni problemi con questo approccio, però.
Sembra che ogni richiesta REST crei una nuova connessione alla coda dei messaggi (o forse ci sia un certo numero di connessioni - ma le cassette postali dovrebbero essere abilmente commutabili nella connessione)
Inoltre, non sono sicuro di come gestire il caso quando un client riceve un elenco di messaggi come risposta a un GET, muore a metà del processo e deve ri-richiedere i messaggi che è già stato dato. La coda dovrebbe avere un certo livello di persistenza e alcune capacità di riavvolgimento.
Le mie domande sono: sto andando giù per la strada giusta qui? Cosa posso fare su questi problemi e mi mancano altre insidie? O forse c'è un modo completamente diverso per farlo che potrebbe essere più ottimale?