Come si impostano le code di breve durata?

1

Questo scenario sembra piuttosto ordinario, eppure, stranamente, sistemi di messaggistica (come Google Cloud PubSub e Task Queues e ActiveMQ ) non sembrano supportarlo - presumono che argomenti / code siano longevi.

  • Un server webapp di frontend invia una richiesta a un server di backend.
  • Il server di backend risponde a questa richiesta con "aspetta di ricevere i messaggi sul canale X" (la terminologia nel sistema di messaggistica asincrona potrebbe essere "coda" o "argomento" piuttosto che "canale".)
  • Il server di back-end distribuisce i risultati su X ogni pochi secondi per circa 2 minuti.
  • Il server di frontend interroga il canale X per ottenere questi risultati.

Quindi, il canale deve esistere solo per i 2 minuti.

Sto fraintendendo come farlo? Qual è il giusto approccio al design?

    
posta Joshua Fox 24.01.2018 - 14:42
fonte

1 risposta

4

ActiveMQ supporta questo ed è una caratteristica generale di JMS. Ecco un link che punta a un modo per farlo.

Al momento non riesco a trovare la documentazione specifica, ma il mio ricordo è che puoi configurare le configurazioni generali della coda usando i caratteri jolly come FOO. * Quindi puoi scrivere su FOO.BAR e ActiveMQ lo creerà. Esisterà finché ci sono messaggi non letti su di esso. Una volta vuoto, scomparirà dopo un timeout.

    
risposta data 24.01.2018 - 15:42
fonte