Service Bus Premium-Messaging Ebene
Service Bus-Messaging, das Entitäten wie Warteschlangen und Themen umfasst, kombiniert Messagingfunktionen für Unternehmen mit umfangreicher Veröffentlichen/Abonnieren-Semantik auf Cloudebene. Service Bus-Messaging wird als Kommunikationsbackbone für zahlreiche komplexe Cloudlösungen verwendet.
Der Premium-Tarif von Service Bus-Messaging ist für allgemeine Kundenanfragen zur Skalierung, Leistung und Verfügbarkeit für unternehmenswichtige Anwendungen vorgesehen. Es wird empfohlen, den Premium-Tarif für Produktionsszenarien zu verwenden. Obwohl die Funktionssätze fast identisch sind, sind die Standard- und Premium-Tarife von Service Bus Messaging für unterschiedliche Anwendungsfälle vorgesehen.
In der folgenden Tabelle sind einige allgemeine Unterschiede hervorgehoben:
Kriterien | Premium | Standard |
---|---|---|
Throughput | Hoher Durchsatz | Variabler Durchsatz |
Leistung | Vorhersagbare Leistung | Variable Latenzzeit |
Preisberechnung | Feste Preise | Variable Preisgestaltung (nutzungsbasierte Bezahlung) |
Skalieren | Möglichkeit zur Herauf- und Herunterskalierung der Workload | N/V |
Nachrichtengröße | Nachrichtengröße bis 100 MB. Weitere Informationen finden Sie unter Unterstützung großer Nachrichten. | Nachrichtengröße bis 256 KB |
Service Bus Premium-Messaging bietet Ressourcenisolierung auf CPU- und Arbeitsspeicherebene, sodass die Workloads der einzelnen Kunden isoliert ausgeführt werden. Dieser Ressourcencontainer wird als Messaging-Einheit bezeichnet. Jedem Premium-Namespace wird mindestens eine Messaging-Einheit zugeordnet. Sie können 1, 2, 4, 8 oder 16 Messagingeinheiten für jeden Service Bus Premium-Namespace erwerben. Eine einzelne Workload oder Entität kann mehrere Messagingeinheiten umfassen, und die Anzahl der Einheiten kann beliebig geändert werden. Das Ergebnis ist eine vorhersehbare und wiederholbare Leistung Ihrer Service Bus-basierten Lösung.
Diese Leistung ist nicht nur besser vorhersehbar und verfügbar, sondern auch schneller. Mit Premium-Messaging wird bei Spitzenleistung eine viel höhere Geschwindigkeit als beim Standard-Tarif erzielt.
Premium-Messaging – technische Unterschiede
In den folgenden Abschnitten werden einige Unterschiede zwischen dem Premium- und dem Standard-Messagingtarif erläutert.
Expressentitäten
Da Premium-Messaging in einer isolierten Laufzeitumgebung ausgeführt wird, werden Expressentitäten in Premium-Namespaces nicht unterstützt. Bei einer Express-Entität wird eine Nachricht vorübergehend im Arbeitsspeicher abgelegt, bevor sie in den persistenten Speicher geschrieben wird. Wenn Code unter Standard-Messaging ausgeführt wird, den Sie auf den Premium-Tarif portieren möchten, stellen Sie sicher, dass das Feature für Expressentitäten deaktiviert ist.
Ressourceneinsatz für Premium-Messaging
Grundsätzlich kann jeder Vorgang für eine Entität CPU- und Arbeitsspeichernutzung verursachen. Nachstehend sind einige dieser Vorgänge aufgeführt:
- Verwaltungsvorgänge, z. B. Erstellen, Abrufen, Aktualisieren und Löschen (CRUD), für Warteschlangen, Themen und Abonnements.
- Laufzeitvorgänge (Nachrichten senden und empfangen)
- Überwachen von Vorgängen und Warnungen
Die zusätzliche CPU- und Speichernutzung wird jedoch nicht zusätzlich berechnet. Im Premium-Messagingtarif gibt es einen einzigen Preis für die Nachrichteneinheit.
Die CPU- und die Arbeitsspeichernutzung werden aus folgenden Gründen nachverfolgt und für Sie angezeigt:
- Bereitstellen von transparenter Einsicht in interne Systemabläufe
- Verstehen der Kapazität der erworbenen Ressourcen
- Kapazitätsplanung, damit Sie über Hoch-/Herunterskalieren entscheiden können
Wie viele Messagingeinheiten sind erforderlich?
Sie geben die Anzahl der Messagingeinheiten an, wenn Sie einen Azure Service Bus-Namespace im Tarif „Premium“ bereitstellen. Bei diesen Messagingeinheiten handelt es sich um dedizierte Ressourcen, die dem Namespace zugeordnet werden. Wenn Partitionierung für den Namespace aktiviert ist, werden die Messagingeinheiten gleichmäßig auf die Partitionen verteilt.
Die Anzahl von Messagingeinheiten, die dem Service Bus-Namespace im Tarif „Premium“ zugeordnet werden, kann dynamisch angepasst werden, um auf Veränderungen (Zu- oder Abnahme) bei Workloads zu reagieren.
Bei der Entscheidung über die Anzahl der Messagingeinheiten für Ihre Architektur müssen einige Faktoren berücksichtigt werden:
- Beginnen Sie mit 1 oder 2 Messagingeinheiten, die Ihrem Namespace zugewiesen sind, oder 1 Messagingeinheit pro Partition.
- Sehen Sie sich in den Metriken zur Ressourcennutzung für Ihren Namespace die Metriken zur CPU-Auslastung an.
- Bei einer CPU-Auslastung von unter 20 Prozent können Sie die Anzahl von Messagingeinheiten, die Ihrem Namespace zugeordnet sind, ggf. herunterskalieren.
- Wenn die CPU-Auslastung über 70 % liegt, ist es für Ihre Anwendung von Vorteil, die Anzahl der Ihrem Namensraum zugewiesenen Messaging-Einheiten hochzuskalieren.
Informationen zum Konfigurieren eines Service Bus-Namespace für automatisches Skalieren (Erhöhen oder Verringern von Messagingeinheiten) finden Sie unter Automatisches Aktualisieren von Messagingeinheiten.
Hinweis
Die Ressourcen, die dem Namespace zugeordnet werden, können präventiv oder reaktiv skaliert werden.
Präventiv: Wenn zusätzliche Workloads erwartet werden (saisonbedingt oder aufgrund von Trends), können Sie dem Namespace weitere Messagingeinheiten zuordnen, bevor die Workloads auftreten.
Reaktiv: Wenn bei der Betrachtung der Metriken zur Ressourcennutzung zusätzliche Workloads erkannt werden, können dem Namespace zusätzliche Ressourcen zugeordnet werden, um auf die steigende Nachfrage zu reagieren.
Die Verbrauchseinheiten für die Service Bus-Abrechnung sind stundenbasiert. Wenn Sie zentral hochskalieren, werden die zusätzlichen Ressourcen nur für die Stunden berechnet, in denen sie verwendet wurden.
Erste Schritte mit Premium-Messaging
Die ersten Schritte mit Premium-Messaging sind einfach, und der Prozess ähnelt der Vorgehensweise für Standard-Messaging. Beginnen Sie durch Erstellung eines Namespace im Azure-Portal. Stellen Sie sicher, dass Sie unter Tarif die Option Premium wählen. Wählen Sie Alle Preisinformationen anzeigen aus, um weitere Informationen zu jedem Tarif anzuzeigen.
Sie können auch Premium-Namespaces mit Azure Resource Manager-Vorlagen erstellen.
Unterstützung für umfangreiche Nachrichten
Namespaces im Premium-Tarif in Azure Service Bus unterstützen die Möglichkeit, große Nachrichtennutzlasten von bis zu 100 MB zu senden. Dieses Feature ist hauptsächlich auf Legacyworkloads ausgelegt, die größere Nachrichtennutzlasten für andere Messagingbroker für Unternehmen verwendet haben und eine nahtlose Migration zu Azure Service Bus erfordern.
Dies sind einige Überlegungen zum Senden großer Nachrichten in Azure Service Bus:
- Wird nur in Premium-Namespaces in Azure Service Bus unterstützt.
- Wird nur unterstützt, wenn das Advanced Message Queuing Protocol (AMQP) verwendet wird. Wird nicht unterstützt, wenn Sie SBMP- oder HTTP-Protokolle verwenden. Im Premium-Tarif beträgt die maximale Nachrichtengröße für SBMP- und HTTP-Protokolle 1 MB.
- Wird unterstützt, wenn das Java Message Service 2.0-Client-SDK (JMS) und andere Sprachclient-SDKs verwendet werden.
- Das Senden großer Nachrichten führt zu einem verringerten Durchsatz und einer höheren Latenz.
- Obwohl Nachrichtennutzlasten von 100 MB unterstützt werden, wird empfohlen, die Nachrichtennutzlasten so klein wie möglich zu halten, um eine zuverlässige Leistung des Service Bus-Namespace sicherzustellen.
- Die maximale Nachrichtengröße wird nur für Nachrichten erzwungen, die an die Warteschlange oder das Thema gesendet werden. Das Größenlimit wird für den Empfangsvorgang nicht erzwungen. Sie können die maximale Nachrichtengröße für eine bestimmte Warteschlange (oder ein bestimmtes Thema) aktualisieren.
- Batchverarbeitung wird nicht unterstützt.
Am 30. September 2026 wird die Unterstützung des SBMP-Protokolls für Azure Service Bus eingestellt, sodass Sie dieses Protokoll nach dem 30. September 2026 nicht mehr verwenden können. Migrieren Sie vor diesem Datum mithilfe des AMQP-Protokolls zu den neuesten Azure Service Bus SDK-Bibliotheken, die wichtige Sicherheitsupdates und verbesserte Funktionen bieten.
Weitere Informationen finden Sie in der Ankündigung der Supporteinstellung.
Aktivieren der Unterstützung großer Nachrichten für eine neue Warteschlange (oder ein neues Thema)
Um die Unterstützung für große Nachrichten zu aktivieren, legen Sie bei der Erstellung einer neuen Warteschlange (oder eines Themas) die maximale Nachrichtengröße fest, wie in der folgenden Abbildung gezeigt:
Aktivieren der Unterstützung großer Nachrichten für eine vorhandene Warteschlange (oder ein vorhandenes Thema)
Sie können auch die Unterstützung für große Nachrichten für vorhandene Warteschlangen (oder Themen) aktivieren, indem Sie unter Übersicht und Maximale Nachrichtengröße für diese bestimmte Warteschlange (oder für das bestimmte Thema) aktualisieren, wie in der folgenden Abbildung gezeigt.
Netzwerksicherheit
Die folgenden Netzwerksicherheitsfeatures sind nur in der Premiumebene verfügbar. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen.
Das Konfigurieren der IP-Firewall mithilfe des Azure-Portals ist nur für die Namespaces der Premiumebene verfügbar. Sie können jedoch IP-Firewall-Regeln für andere Ebenen mithilfe von Azure Resource Manager-Vorlagen, CLI, PowerShell oder REST API konfigurieren. Weitere Informationen finden Sie unter Konfigurieren der IP-Firewall.
Verschlüsselung für ruhende Daten
Alle im Speichersubsystem gespeicherten Daten werden mit von Microsoft verwalteten Schlüsseln verschlüsselt. Wenn Sie Ihren eigenen Schlüssel verwenden (auch als kundenseitig verwalteter Schlüssel bezeichnet), werden die Daten immer noch mit dem von Microsoft verwalteten Schlüssel verschlüsselt, aber zusätzlich wird der von Microsoft verwaltete Schlüssel mit dem kundenseitig verwalteten Schlüssel verschlüsselt. Mit dieser Funktion können Sie kundenseitig verwaltete Schlüssel, die zum Verschlüsseln der von Microsoft verwalteten Schlüssel verwendet werden, erstellen, rotieren, deaktivieren und den Zugriff darauf widerrufen. Die Aktivierung der Funktion für kundenseitig verwaltete Schlüssel ist ein einmaliger Einrichtungsvorgang für Ihren Namespace. Weitere Informationen finden Sie unter Verschlüsselung von Azure Service Bus-Daten im Ruhezustand.
Partitionierung
Bei der Partitionierung gibt es einige Unterschiede zwischen den Ebenen „Standard“ und „Premium“.
- Die Partitionierung ist bei der Erstellung der Entität für alle Warteschlangen und Themen in den SKUs „Basic“ oder „Standard“ verfügbar. Ein Namespace kann sowohl partitionierte als auch nicht partitionierte Entitäten aufweisen. Die Partitionierung ist bei der Namespaceerstellung für den Premium-Tarif verfügbar, und alle Warteschlangen und Themen in diesem Namespace werden partitioniert. Alle zuvor migrierten partitionierten Entitäten in Premium-Namespaces funktionieren weiterhin wie erwartet.
- Wenn Partitionierung in SKUs vom Typ „Basic“ oder „Standard“ aktiviert ist, erstellt der Service Bus 16 Partitionen. Wenn die Partitionierung in der Premiumebene aktiviert ist, wird die Anzahl der Partitionen während der Namespaceerstellung angegeben.
Weitere Informationen finden Sie unter Partitionierung im Service Bus.
Geo-Katastrophe und Wiederherstellung
Mit Azure Service Bus wird das Risiko von schwerwiegenden Ausfällen einzelner Computer oder sogar der kompletten Racks in Clustern, die mehrere Fehlerdomänen in einem Rechenzentrum umfassen, verteilt. Außerdem werden mit Azure Service Bus transparente Fehlererkennungs- und Failovermechanismen implementiert. Somit wird der Dienst weiterhin innerhalb der garantierten Servicelevel und in der Regel ohne spürbare Unterbrechungen im Falle solcher Fehler ausgeführt. Ein Premium-Namespace kann über zwei oder mehr Messagingeinheiten verfügen, und diese Messagingeinheiten werden auf mehrere Fehlerdomänen innerhalb eines Rechenzentrums verteilt und unterstützen ein umfassend aktives Service Bus-Clustermodell.
Bei einem Namespace der Premium-Dienstebene ist das Ausfallrisiko auf drei physisch getrennte Anlagen (Verfügbarkeitszonen) verteilt, und der Dienst verfügt über genügend Kapazitätsreserven, um den vollständigen, katastrophalen Ausfall eines Rechenzentrums sofort zu bewältigen. Das umfassend aktive Azure Service Bus-Clustermodell in einer Fehlerdomäne mit Unterstützung von Verfügbarkeitszonen ist jedem lokalen Nachrichtenbroker im Hinblick auf Resilienz gegen schwerwiegende Hardwareausfälle und sogar gegen den katastrophalen Verlust gesamter Rechenzentrumseinrichtungen überlegen. Es kann jedoch bedrohliche Situationen mit großflächigen physischen Zerstörungen geben, vor denen selbst diese Maßnahmen keinen ausreichenden Schutz bieten können.
Die georedundante Notfallwiederherstellung (Geo-DR) von Service Bus erleichtert die Wiederherstellung nach einem Notfall dieser Größenordnung und das endgültige Verwerfen einer ausgefallenen Azure-Region, ohne die Anwendungskonfigurationen ändern zu müssen. Wenn Sie eine Azure-Region aufgeben, sind in der Regel mehrere Dienste betroffen. Dieses Feature soll vor allem dabei helfen, die Integrität der gesamten Anwendungskonfiguration zu bewahren. Das Feature ist für die Service Bus Premiumebene global verfügbar.
Das Feature für die georedundante Notfallwiederherstellung stellt sicher, dass die gesamte Konfiguration eines Namespace (Entitäten, Konfiguration, Eigenschaften) ständig von einem primären Namespace in einem sekundären Namespace repliziert wird, mit dem er gekoppelt ist. Außerdem können Sie jederzeit ein einmaliges Failover vom primären zum sekundären Namespace auslösen. Beim Failover wird der ausgewählte Aliasname für den Namespace dem sekundären Namespace zugeordnet, dann wird die Kopplung aufgehoben. Das Failover erfolgt nach der Initiierung fast unmittelbar.
Weitere Informationen finden Sie unter Georedundante Notfallwiederherstellung in Azure Service Bus.
Georeplikation
Das Georeplikationsfeature ist eine der Optionen zum Isolieren von Azure Service Bus-Anwendungen gegen Ausfälle und Katastrophen. Es ermöglicht die Replikation von Metadaten (Entitäten, Konfigurationen, Eigenschaften) und Daten (Nachrichtendaten sowie Status- und Eigenschaftsänderungen von Nachrichten). Das zuvor beschriebene Geo-DR-Feature repliziert dagegen nur die Metadaten.
Das Georeplikationsfeature stellt sicher, dass die Metadaten und Daten eines Namespaces kontinuierlich aus einer primären Region in eine oder mehrere sekundäre Regionen repliziert werden.
- Warteschlangen, Themen, Abonnements, Filter
- Daten, die sich in den Entitäten befinden.
- Alle Status- und Eigenschaftsänderungen, die für die Nachrichten in einem Namespace ausgeführt werden
- Namespacekonfiguration
Dieses Feature ermöglicht es, jede sekundäre Region jederzeit zur primären Region höherzustufen. Durch das Höherstufen einer sekundären Region verweist der Name für den Namespace auf die ausgewählte sekundäre Region, und die Rollen der primären bzw. sekundären Region werden getauscht. Die Höherstufung erfolgt fast unmittelbar nach der Initiierung.
Java Message Service (JMS) Support
Die Premiumebene unterstützt JMS 1.1 und JMS 2.0. Weitere Informationen finden Sie unter Verwenden von JMS 2.0 mit Azure Service Bus Premium.
Die Standardebene unterstützt nur die JMS 1.1-Teilmenge, die sich auf Warteschlangen konzentriert. Weitere Informationen finden Sie unter Verwenden von Java Message Service 1.1 mit Azure Service Bus Standard.
Nächste Schritte
Lesen Sie den folgenden Artikel: Automatisches Aktualisieren von Nachrichteneinheiten.