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 drei Preisstufen: Basic, Standard und Premium. Jede Ebene ist für unterschiedliche Anwendungsfälle und Anforderungen ausgelegt.
Standardebene – Geeignet für einfache Messagingszenarien mit geringem Durchsatz und minimalen Featureanforderungen. Die Basisebene unterstützt nur Warteschlangen (nicht Themen und Abonnements).
Standardebene – Empfohlen für Entwickler-/Testumgebungen oder Szenarien mit geringem Durchsatz, in denen Anwendungen nicht empfindlich auf Drosselung reagieren. Unterstützt Warteschlangen und Themen mit Abonnements.
Premium-Stufe – Empfohlen für Produktionsszenarien, die vorhersehbare Latenz und hohen Durchsatz erfordern. Bietet Ressourcenisolation auf CPU- und Arbeitsspeicherebene und erweiterte Funktionen für unternehmenskritische Anwendungen.
Weitere Informationen zu den verfügbaren Tarifen finden Sie unter Service Bus-Preise.
Stufenvergleich
| Funktion | Basic | Norm | Prämie |
|---|---|---|---|
| Durchsatz | Low | Variable | High |
| Leistung | – | Variable Latenzzeit | Vorhersagbare Leistung |
| Pricing | Nutzungsbasierte Bezahlung | Variable Preisgestaltung (nutzungsbasierte Bezahlung) | Feste Preise pro Messagingeinheit |
| Scaling | – | – | Möglichkeit zur Herauf- und Herunterskalierung der Workload |
| Nachrichtengröße | 256 KB | 256 KB | Bis zu 100 MB |
| Themen und Abonnements | Nicht unterstützt | Unterstützt | Unterstützt |
| Transaktionen | Nicht unterstützt | Unterstützt | Unterstützt |
| Automatische Weiterleitung | Nicht unterstützt | Unterstützt | Unterstützt |
| Nachrichtensitzungen | Unterstützt | Unterstützt | Unterstützt |
Erweiterte Features
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 bleibt 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), Rollenbasierte Zugriffssteuerung (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.