Entwerfen einer Messaginglösung

Abgeschlossen

Azure bietet zwei nachrichtenbasierte Lösungen: Azure Queue Storage und Azure Service Bus. Queue Storage speichert eine große Anzahl von Nachrichten in Azure Storage. Service Bus ist ein Nachrichtenbroker, der Anwendungen und Dienste entkoppelt. Wir untersuchen die verschiedenen Features und Funktionen dieser Dienste und überlegen, wie Sie den zu implementierenden Dienst auswählen.

Eine Ihrer Entwurfsaufgaben für Tailwind Traders besteht darin, einen Entwurf für die Produktdemoanwendung zu empfehlen. Kunden verwenden die App, um die neuesten Tipps, Bewertungen und Anleitungen zu ausgewählten Heimwerkerprodukte zu erhalten. Sie müssen zwei App-Entwurfsanforderungen erfüllen:

  • Sicherstellen, dass Inhaltsdateien zuverlässig aus der mobilen App in die Web-API hochgeladen werden. Die Dateien enthalten Text, Bilder und Videos.
  • Direktes Übermitteln von Details zu neuen Dateien an die App, z. B. wenn ein Kunde eine neue Produktbewertung veröffentlicht oder ein Video hinzugefügt wird.

Für diese App-Anforderungen ist ein nachrichtenbasiertes System die ideale Lösung. In diesem Video aus dem Entwicklerkurs werden die verschiedenen Lösungen für die Nachrichtenwarteschlange erläutert.

Wichtige Hinweise zu Azure Queue Storage

Azure Queue Storage ist ein Dienst, der Azure Storage verwendet, um eine große Anzahl von Nachrichten zu speichern. Untersuchen Sie die folgenden Merkmale des Dienstes.

Abbildung eines Speicherkontos mit zwei Nachrichtenwarteschlangen in Azure Queue Storage.

  • Warteschlangen in Azure Queue Storage können Millionen von Nachrichten enthalten.

  • Die Anzahl und Größe der Warteschlangen wird nur durch die Kapazität des Azure-Speicherkontos begrenzt, das Besitzer von Queue Storage ist.

  • Auf die Nachrichten in Queue Storage kann von überall auf der Welt mithilfe einer einfachen REST-basierten Schnittstelle sicher zugegriffen werden.

  • Warteschlangen bieten im Allgemeinen eine höhere Zuverlässigkeit, eine garantierte Nachrichtenübermittlung und Transaktionsunterstützung.

Wichtige Hinweise zu Azure Service Bus

Azure Service Bus ist ein vollständig verwalteter Nachrichtenbroker für Unternehmen. Mithilfe von Service Bus werden Anwendungen und Dienste voneinander entkoppelt. Sehen Sie sich die folgenden Vorteile des Diensts an.

  • Azure Service Bus unterstützt Nachrichtenwarteschlangen und Themen zum Veröffentlichen/Abonnieren.

  • Mit Azure Service Bus können Sie einen Lastenausgleich zwischen konkurrierenden Workern vornehmen.

  • Sie können mithilfe von Service Bus Daten sicher weiterleiten und übertragen sowie über Dienst- und Anwendungsgrenzen hinweg steuern.

  • Service Bus unterstützt Sie bei der Koordination von Transaktionen, die ein hohes Maß an Zuverlässigkeit erfordern.

Nachrichtenwarteschlangen

Azure Service Bus-Nachrichtenwarteschlangen sind ein Nachrichtenbrokersystem, das auf einer dedizierten Messaginginfrastruktur basiert. Wie Azure-Warteschlangen speichert Service Bus Nachrichten, bis das Ziel diese empfangen kann.

Abbildung: Absender und Empfänger, die über eine Nachrichtenwarteschlange kommunizieren.

Azure Service Bus-Nachrichtenwarteschlangen sind für Unternehmensanwendungen vorgesehen, z. B. für eine App, die Kommunikationsprotokolle und verschiedene Datenverträge verwendet.

Geschäftsszenario

Betrachten Sie das Szenario, in dem sich ein Kunde oder eine Kundin ein Video in einer App ansieht. Die App unterstützt sowohl Benutzerverlauf als auch Fanlisten. Sie können beide Aktionen mithilfe von Attributen von Veröffentlichen/Abonnieren-Themen unterstützen:

  • Die mobile App sendet eine Nachricht an das Thema Watched.

  • Das Thema verfügt über zwei Abonnements. Das erste Abonnement schließt die Aktion UpdateUserWatchHistory ab. Das zweite Abonnement schließt die Aktion UpdateProductFanList ab.

  • Jedes Abonnement des Themas Watched erhält eine eigene Kopie der Nachricht.

Zu berücksichtigende Punkte beim Auswählen von Messagingdiensten

Jede Azure-Messaginglösung verfügt über einen etwas anderen Funktionsumfang. Sie können eine Lösung auswählen oder beides verwenden, um Ihre Entwurfsanforderungen zu erfüllen. Sehen Sie sich die folgenden Szenarien an, und überlegen Sie, welche Messaginglösungen für die Anwendungsarchitektur von Tailwind Traders von Nutzen sein können.

Messaginglösung Beispielszenarien
Azure Queue Storage Sie möchten eine einfache Warteschlange zum Organisieren von Nachrichten.

Sie benötigen einen Überwachungspfad für alle Nachrichten, die die Warteschlange passieren.

Der Warteschlangenspeicher überschreitet 80 GB.

Sie möchten den Verarbeitungsfortschritt einer Nachricht innerhalb der Warteschlange nachverfolgen.
Azure Service Bus
Nachrichtenwarteschlangen
Sie benötigen eine Garantie, dass die Zustellung höchstens einmal erfolgt.

Sie brauchen eine mindestens einmalige Nachrichtenverarbeitung (PeekLock-Empfangsmodus).

Sie benötigen eine höchstens einmalige Nachrichtenverarbeitung (ReceiveAndDelete-Empfangsmodus).

Sie müssen Nachrichten in Transaktionen gruppieren.

Sie möchten Nachrichten empfangen, ohne die Warteschlange abzufragen.

Sie müssen Nachrichten verarbeiten, die größer als 64 KB sind.

Der Warteschlangenspeicher überschreitet nicht 80 GB.

Sie möchten Nachrichtenbatches veröffentlichen und nutzen.
Azure Service Bus
Themen zum Veröffentlichen/Abonnieren
Jede Nachricht muss von mehreren Empfängern verarbeitet werden können.

Sie gehen davon aus, dass eine einzelne Nachricht mehrere Ziele hat, brauchen jedoch ein warteschlangenähnliches Verhalten.

Tipp

Fahren Sie mit dem Modul "Azure-Nachrichtenwarteschlangen entdecken " fort.