Nachrichtenmanagement

Erfahren Sie, wie Sie Nachrichten in einer Queue veröffentlichen, konsumieren und verwalten.

Beispiel für einen Queueablauf

Das folgende Diagramm zeigt ein Beispiel, bei dem ein Producer eine Nachricht an eine Queue sendet und zwei Consumers versuchen, sie zu verarbeiten.

Diagramm, in dem das Erstellen, Aktualisieren, Konsumieren und Löschen einer Nachricht dargestellt wird.

  1. Ein Producer sendet eine Nachricht mit der Standardaufbewahrungszeit für Nachrichten an die Queue.

    Der Producer erhält eine Bestätigung, dass der Queue-Service die Nachricht empfangen und gespeichert hat.

  2. Consumer A versucht, die Nachricht zu empfangen.

    Consumer A erhält die Nachricht, die innerhalb des Sichtbarkeits-Timeouts A verarbeitet werden soll.

  3. Consumer B versucht, eine Nachricht zu empfangen.

    Consumer B erhält nichts, da die einzige verfügbare Nachricht bereits von Consumer A konsumiert wurde.

  4. Consumer A kann die Nachricht nicht innerhalb von Sichtbarkeitstimeout A verarbeiten. Daher wird die Nachricht aktualisiert, um den Sichtbarkeitstimeout zu verlängern.
  5. Consumer B versucht erneut, eine Nachricht zu empfangen.

    Consumer B erhält nichts, da die einzige verfügbare Nachricht von Consumer A konsumiert und erweitert wurde.

  6. Der verlängerte Sichtbarkeitstimeout läuft ab.
  7. Consumer B versucht ein drittes Mal, eine Nachricht zu empfangen.

    Consumer B erhält die Nachricht, die innerhalb des Sichtbarkeits-Timeouts B verarbeitet werden soll.

  8. Consumer A versucht, die Nachricht zu empfangen, erhält jedoch nichts, weil Consumer B die Nachricht konsumiert hat.

    Consumer A kann den Sichtbarkeitstimeout der Nachricht nicht mehr verlängern und die Nachricht nicht löschen.

  9. Consumer B verarbeitet die Nachricht erfolgreich und versucht, die Nachricht aus der Queue zu löschen.

    Consumer B erhält die Bestätigung, dass die Nachricht endgültig gelöscht wurde, sodass sie nicht an einen anderen Consumer zugestellt werden kann.

Hinweis

Jedes Mal, wenn eine Nachricht an einen Consumer zugestellt wird, erhöht sich das Feld Zustellungsanzahl der Nachricht. Wenn die Anzahl der Zustellungen einer Nachricht das konfigurierte Maximum erreicht, wird sie an eine Ladschreibenqueue gesendet.

Nachrichtenendpunkt

Um Nachrichten in einer Queue zu produzieren oder aus einer Queue zu konsumieren, müssen Sie den Nachrichtenendpunkt kennen, der von dieser Queue verwendet wird. Der Nachrichtenendpunkt einer Queue sieht in etwa wie folgt aus:

https://cell-1.queue.messaging.<region>.oci.oraclecloud.com

So suchen Sie den Nachrichtenendpunkt einer Queue:

  1. Wählen Sie auf der Listenseite Queues die Queue aus, mit der Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder der Queue benötigen, finden Sie weitere Informationen unter Queues auflisten.

    Der Abschnitt Queueinformationen enthält den Nachrichtenendpunkt.

Sie finden den Nachrichtenendpunkt mithilfe der API mit einer GetQueue-Anforderung.

Erforderliche IAM-Policy

Weitere Informationen zu den erforderlichen Berechtigungen für das Queuemanagement finden Sie unter Queue-Policys und Policy-Beispiele.

Nächste Schritte