Canali

Un canale è una destinazione effimera all'interno di una coda che può essere utilizzata per migliorare l'equità dell'elaborazione dei messaggi, specificare la selezione dei messaggi e abilitare i pattern di risposta alle richieste. I messaggi pubblicati in un canale sono disponibili per l'utilizzo sia a livello di coda che a livello di canale.

I canali aumentano il numero di singole destinazioni indirizzabili all'interno di una singola coda, consentendo una migliore scalabilità.

I canali non richiedono la creazione o l'eliminazione esplicita. I canali condividono le stesse autorizzazioni, lo stesso metodo di cifratura e gli stessi limiti della coda padre, ma le code possono configurare la capacità del canale, limitando la quantità massima di capacità complessiva della coda che un singolo canale può utilizzare in qualsiasi momento.

Equità elaborazione messaggi

Quando molti produttori pubblicano nella stessa coda, un improvviso picco di volume da un produttore può causare ritardi nell'elaborazione dei messaggi da altri produttori. In alcuni scenari potrebbe essere necessario proteggere il consumo dei messaggi da distorsioni a favore dei consumatori con più traffico o vicini rumorosi.

Senza canali, dovresti gestire singole code per ogni produttore e implementare un meccanismo di bilanciamento del carico per consumare i messaggi di tutti i produttori in modo uniforme.

Con i canali, ogni producer può pubblicare messaggi su un canale specifico, ma è possibile utilizzare i messaggi a livello di coda. Il servizio Queue restituisce messaggi da un canale casuale con messaggi disponibili, migliorando l'equità.

Selezione messaggi

I consumer possono includere un parametro facoltativo nelle richieste per selezionare i messaggi pubblicati con l'ID canale corrispondente. Il servizio Coda restituisce solo i messaggi disponibili da uno dei canali che corrispondono all'ID.

Se gli ID di più canali corrispondono alla selezione in una richiesta, i messaggi vengono restituiti da un canale casuale con messaggi disponibili. Se i messaggi vengono pubblicati in un canale specifico, ma una richiesta di consumo non include un canale, i messaggi vengono restituiti da un canale casuale con messaggi disponibili.

Per ulteriori informazioni, vedere Utilizzo di messaggi da un canale.

Pattern di richiesta e risposta

Un pattern effimero di risposta alle richieste è un pattern di integrazione consolidato che consente a un'applicazione mittente di inviare una richiesta e fornisce un modo per il destinatario di inviare correttamente una risposta all'applicazione mittente. Questo pattern in genere richiede solo una coda di breve durata per la transazione.

Utilizzando code e canali, più applicazioni possono inviare messaggi a una singola coda e specificare un ID canale che si identifichi in modo univoco. Un'applicazione consumer può inviare una risposta al producer di messaggi e includere il relativo ID. Quando il produttore riceve la risposta che include lo stesso ID, la transazione viene considerata completa. Dopo che i messaggi sono stati elaborati correttamente ed eliminati dal consumatore e se non esistono più messaggi nel canale, il canale viene eliminato automaticamente.