Sie entwerfen einen Auftragsverarbeitungs-Workflow auf Azure Service Bus. Alle Nachrichten für dieselbe OrderID müssen in strikter FIFO-Reihenfolge verarbeitet werden, und Sie müssen den Status pro Auftrag über Nachrichten hinweg beibehalten, um die Workflow-Phase zu verfolgen. Was sollten Sie tun?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Aktivieren Sie RequiresSession für die Zielwarteschlange oder das Abonnement., Setzen Sie die SessionId für alle Nachrichten in einem Auftrag auf die OrderID., Empfangen Sie Nachrichten mit einem SessionReceiver und verwenden Sie GetState/SetState, um den Workflow-Status pro Auftrag beizubehalten..
Warum dies die Antwort ist
Um die strikte FIFO-Verarbeitung pro OrderID und die Beibehaltung des Zustands über Nachrichten hinweg zu gewährleisten, müssen Sie Azure Service Bus-Sitzungen verwenden. Zuerst müssen Sie RequiresSession für die Zielwarteschlange oder das Abonnement aktivieren. Dies ist eine Voraussetzung, damit Service Bus Nachrichten sitzungsbasiert verarbeitet. Anschließend müssen Sie für alle Nachrichten, die zu einem bestimmten Auftrag gehören, die SessionId auf die OrderID setzen. Dadurch werden alle Nachrichten mit derselben OrderID einer einzigen Sitzung zugeordnet. Schließlich empfangen Sie die Nachrichten mit einem SessionReceiver. Dieser Receiver ermöglicht es Ihnen, den Zustand pro Sitzung mit GetState und SetState zu speichern und abzurufen, was für die Nachverfolgung der Workflow-Phase pro Auftrag entscheidend ist. Das Setzen der MessageId auf die OrderID würde die FIFO-Reihenfolge nicht garantieren, da die MessageId zur eindeutigen Identifizierung einer Nachricht dient und nicht zur Gruppierung für die Reihenfolge. Die Nachrichtenverzögerung (message deferral) ist nützlich, um die Verarbeitung einer Nachricht zu verschieben, aber sie ist nicht dazu gedacht, die FIFO-Reihenfolge für eine Gruppe von Nachrichten zu erzwingen oder den Zustand über Sitzungen hinweg zu verwalten.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich