Erkunden von Azure Service Bus
Bei Azure Service Bus handelt es sich um einen vollständig verwalteten Nachrichtenbroker für Unternehmen mit Nachrichtenwarteschlangen und Publish/Subscribe-Themen. Service Bus wird verwendet, um Anwendungen und Dienste zu entkoppeln. Die Datenübertragung zwischen verschiedenen Anwendungen und Diensten erfolgt mithilfe von Nachrichten. Eine Nachricht ist ein Container, der über Metadaten verfügt und Daten enthält. Bei den Daten kann es sich um eine beliebige Art von Informationen handeln, z. B. strukturierte Daten in den folgenden gängigen Formaten: JSON, XML, Apache Avro und Nur-Text.
Im Anschluss finden Sie einige gängige Messagingszenarien:
- Messaging: Übertragung von Geschäftsdaten (beispielsweise Verkäufe/Bestellungen, Journale oder Bestandsbewegungen)
- Entkoppelung von Anwendungen: Höhere Zuverlässigkeit und bessere Skalierbarkeit von Anwendungen und Diensten. Client und Dienst müssen nicht gleichzeitig online sein.
- Themen und Abonnements: Ermöglichung von 1:n-Beziehungen zwischen Herausgebern und Abonnenten
- Nachrichtensitzungen: Implementierung von Workflows, die die Sortierung oder Verzögerung von Nachrichten erfordern
Service Bus-Dienstebenen
Service Bus bietet Basic, Standard- und Premium-Tarife. Der Premium-Tarif von Service Bus Messaging erfüllt häufige Kundenanforderungen hinsichtlich Skalierung, Leistung und Verfügbarkeit für unternehmenskritische Anwendungen. Der Premium-Tarif wird für Produktionsszenarien empfohlen. Obwohl die Funktionssätze fast identisch sind, sind diese zwei Stufen von Service Bus-Messaging für verschiedene Anwendungsfälle vorgesehen. Weitere Informationen zu den verfügbaren Tarifen finden Sie unter Service Bus-Preise.
Einige allgemeine Unterschiede zwischen den Premium- und Standardtarifen werden in der folgenden Tabelle hervorgehoben.
Premium | Standard |
---|---|
Hoher Durchsatz | Variabler Durchsatz |
Vorhersagbare Leistung | Variable Latenzzeit |
Feste Preise | Variable Preisgestaltung (nutzungsbasierte Bezahlung) |
Möglichkeit zur Herauf- und Herunterskalierung der Workload | – |
Nachrichtengröße bis 100 MB | Nachrichtengröße bis 256 KB |
Erweiterte Funktionen
Service Bus enthält auch erweiterte Features für komplexere Messagingszenarien. In der folgenden Tabelle werden mehrere dieser Funktionen beschrieben.
Funktion | Beschreibung |
---|---|
Nachrichtensitzungen | Mithilfe von Sitzungen können Sie in Service Bus eine FIFO-Garantie (First In, First Out) erstellen. Nachrichtensitzungen ermöglichen die exklusive geordnete Verarbeitung von unbegrenzten Sequenzen verwandter Nachrichten. |
Automatische Weiterleitung | Die Funktion für automatische Weiterleitung verkettet eine Warteschlange oder ein Abonnement mit einer anderen Warteschlange oder einem anderen Thema, die bzw. das sich im selben Namespace befindet. |
Warteschlange für unzustellbare Nachrichten | Service Bus unterstützt eine Warteschlange für unzustellbare Nachrichten (Dead-Letter Queue, DLQ). Eine DLQ enthält Nachrichten, die an keinen Empfänger übermittelt werden können. Mit Service Bus können Sie Nachrichten aus der DLQ entfernen und untersuchen. |
Zeitgesteuerte Zustellung | Sie können Nachrichten zur verzögerten Verarbeitung an eine Warteschlange oder an ein Thema senden. Sie können einen Auftrag so planen, dass er zu einem bestimmten Zeitpunkt für die Verarbeitung durch ein System verfügbar wird. |
Nachrichtenverzögerung | Ein Warteschlangen- oder Abonnementclient kann das Abrufen einer Nachricht auf einen späteren Zeitpunkt verschieben. Die Nachricht verbleibt in der Warteschlange oder im Abonnement, wird jedoch zurückgestellt. |
Transaktionen | Eine Transaktion fasst mehrere Vorgänge zu einem Ausführungsbereich zusammen. Service Bus unterstützt Gruppierungsvorgänge für eine einzelne Nachrichtenentität innerhalb eines einzelnen Transaktionsbereichs. Eine Nachrichtenentität kann eine Warteschlange, ein Thema oder ein Abonnement sein. |
Filtern und Aktionen | Abonnenten können definieren, welche Nachrichten von einem Thema empfangen werden sollen. Diese Nachrichten werden in Form von benannten Abonnementregeln angegeben. |
Automatisches Löschen nach Leerlauf | Automatisches Löschen nach Leerlauf ermöglicht die Angabe eines Leerlaufintervalls, nach dem eine Warteschlange automatisch gelöscht wird. Die Mindestdauer ist fünf Minuten. |
Duplikaterkennung | Ein Fehler kann dazu führen, dass der Client sich beim Ergebnis eines Sendevorgangs nicht sicher ist. Mit der Duplikaterkennung kann der Absender dieselbe Nachricht erneut senden, oder die Warteschlange oder das Thema kann doppelte Kopien verwerfen. |
Sicherheitsprotokolle | Service Bus unterstützt Sicherheitsprotokolle wie Shared Access Signatures (SAS), die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) und verwaltete Identitäten für Azure-Ressourcen. |
Georedundante Notfallwiederherstellung | Sollte eine Azure-Region oder ein Azure-Rechenzentrum ausfallen, kann die Datenverarbeitung dank georedundanter Notfallwiederherstellung in einer anderen Region oder in einem anderen Rechenzentrum fortgesetzt werden. |
Sicherheit | Service Bus unterstützt die Standardprotokolle AMQP 1.0 und HTTP/REST. |
Sicherstellen der Konformität mit Standards und Protokollen
Das primäre Verbindungsprotokoll für Service Bus ist Advanced Messaging Queueing Protocol (AMQP) 1.0 (offener ISO/IEC-Standard). Es ermöglicht Kunden das Schreiben von Anwendungen für die Verwendung mit Service Bus und lokalen Brokern wie ActiveMQ oder RabbitMQ. Der Protokollleitfaden zu AMQP enthält ausführliche Informationen, die Ihnen weiterhelfen, falls Sie eine Abstraktion dieser Art erstellen möchten.
Service Bus Premium ist vollständig mit der Java Message Service (JMS) 2.0-API für Java/Jakarta EE konform.
Clientbibliotheken
Vollständig unterstützte Service Bus-Clientbibliotheken sind über das Azure SDK verfügbar.
- Azure Service Bus für .NET
- Azure Service Bus-Bibliotheken für Java
- Azure Service Bus-Anbieter für Java JMS 2.0
- Azure Service Bus-Module für JavaScript und TypeScript
- Azure Service Bus-Bibliotheken für Python