Gestione messaggi
Leggi come pubblicare, utilizzare e gestire i messaggi in una coda.
Esempio di flusso coda
Il seguente diagramma fornisce un esempio in cui il producer invia un messaggio a una coda e due consumer tentano di elaborarlo.
- Un producer invia un messaggio alla coda con il tempo di conservazione predefinito dei messaggi.
Il producer riceve la conferma che il servizio Queue ha ricevuto e memorizzato il messaggio.
- Consumatore A cerca di ricevere il messaggio.
Consumatore A riceve il messaggio che dovrebbe elaborare entro il timeout di visibilità A.
- Il consumatore B cerca di ricevere un messaggio.
Il consumatore B non riceve nulla, perché l'unico messaggio disponibile è già stato utilizzato dal consumatore A.
- Consumer A non riesce a elaborare il messaggio entro il timeout di visibilità A, quindi aggiorna il messaggio per estendere il timeout di visibilità.
- Il consumer B tenta di ricevere di nuovo un messaggio.
Il consumatore B non riceve nulla, perché l'unico messaggio disponibile è stato utilizzato ed esteso dal consumatore A.
- Il timeout di visibilità estesa è trascorso.
- Il consumatore B cerca di ricevere un messaggio per la terza volta.
Il consumatore B riceve il messaggio che dovrebbe elaborare entro il timeout di visibilità B.
- Consumatore A cerca di ricevere il messaggio, ma non riceve nulla, perché il Consumatore B ha utilizzato il messaggio.
Il consumatore A non può più estendere il timeout di visibilità del messaggio o eliminarlo.
- Il consumer B elabora il messaggio e tenta di eliminarlo dalla coda.
Il consumatore B riceve la conferma che il messaggio è stato eliminato definitivamente, quindi non può essere consegnato a nessun altro consumatore.
Ogni volta che un messaggio viene consegnato a un consumer, il campo Conteggio consegne del messaggio viene incrementato. Quando il numero di recapiti di un messaggio raggiunge il massimo configurato, viene inviato a una coda di lettere morte.
Endpoint messaggi
Per produrre in una coda o consumare da una coda, è necessario conoscere l'endpoint dei messaggi utilizzato da tale coda. L'endpoint dei messaggi di una coda ha un aspetto simile al seguente:
https://cell-1.queue.messaging.<region>.oci.oraclecloud.com
Per trovare l'endpoint dei messaggi di una coda, effettuare le operazioni riportate di seguito.
- Nella pagina di elenco Code selezionare la coda con cui si desidera lavorare. Per informazioni su come trovare la pagina dell'elenco o la coda, vedere Lista delle code.
La sezione Informazioni sulla coda contiene l'endpoint dei messaggi.
È possibile trovare l'endpoint dei messaggi utilizzando l'API con una richiesta GetQueue
.
Criterio IAM necessario
Per i dettagli sulle autorizzazioni necessarie per la gestione delle code, vedere Criteri di coda ed Esempi di criteri.