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.

Diagramma che rappresenta la produzione, l'aggiornamento, il consumo e l'eliminazione di un messaggio.

  1. 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.

  2. Consumatore A cerca di ricevere il messaggio.

    Consumatore A riceve il messaggio che dovrebbe elaborare entro il timeout di visibilità A.

  3. 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.

  4. Consumer A non riesce a elaborare il messaggio entro il timeout di visibilità A, quindi aggiorna il messaggio per estendere il timeout di visibilità.
  5. 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.

  6. Il timeout di visibilità estesa è trascorso.
  7. 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.

  8. 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.

  9. 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.

Nota

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.

  1. 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.

Passo successivo