Freigeben über


Servicebus und Zuverlässigkeit

Verwalten Sie sämtliche Aspekte des Nachrichtenbrokerings für Unternehmen mit den in Azure Service Bus verwendeten Nachrichtenwarteschlangen und Themen zum Veröffentlichen/Abonnieren. Dieser Dienst speichert Nachrichten in einem Broker- (z. B. eine Warteschlange), bis der Verbraucher bereit ist, die Nachrichten zu empfangen.

Zu den Vorteilen gehören:

  • Übergreifender Lastenausgleich für konkurrierende Worker
  • Sicheres Weiterleiten und Übertragen von Daten und Kontrolle über Dienst- und Anwendungsgrenzen hinweg.
  • Koordination von Transaktionsarbeiten, die ein hohes Maß an Zuverlässigkeit erfordern.

Weitere Informationen zur Verwendung von Service Bus finden Sie unter Azure Service Bus Messaging. Erfahren Sie, wie Sie Nachrichten einrichten, die Anwendungen und Dienste in lokalen und Cloudumgebungen verbinden.

Um zu verstehen, wie Service Bus zu einer zuverlässigen Arbeitsauslastung beiträgt, verweisen Sie auf die folgenden Themen:

Anmerkung

Zuvor war es erforderlich, die Eigenschaft zoneRedundant auf true festzulegen, um Verfügbarkeitszonen zu aktivieren. Dieses Verhalten hat sich jedoch geändert, um Verfügbarkeitszonen standardmäßig zu aktivieren. Vorhandene Namespaces werden nach Möglichkeit zu Verfügbarkeitszonen migriert, und die Eigenschaft zoneRedundant ist veraltet. Die Eigenschaft zoneRedundant kann weiterhin als falseangezeigt werden, auch wenn Verfügbarkeitszonen aktiviert wurden.

Die folgenden Abschnitte sind spezifisch für Azure Service Bus und Zuverlässigkeit:

  • Entwurfsüberlegungen
  • Konfigurationsprüfliste
  • Empfohlene Konfigurationsoptionen
  • Quellartefakte

Entwurfsüberlegungen

Maximieren Sie die Zuverlässigkeit mit einer Azure Service Bus-Uptime-SLA. Ordnungsgemäß konfigurierte Anwendungen können Nachrichten senden oder empfangen oder andere Vorgänge in einer bereitgestellten Warteschlange oder einem bereitgestellten Thema ausführen. Weitere Informationen finden Sie in der SLA für Service Bus.

Weitere Entwurfsüberlegungen sind:

Neben der Dokumentation zu Service Bus Premium und Standard Messaging Tierssind die folgenden Features nur auf der Premium Stock Keeping Unit (SKU) verfügbar:

Wenn Service Bus mit georedundanter Notfallwiederherstellung und in Verfügbarkeitszonen bereitgestellt wird, erhöht sich das Servicelevelziel (Service Level Objective, SLO) erheblich. Die Uptime-SLA bleibt jedoch unverändert.

Prüfliste

Haben Sie Azure Service Bus unter Berücksichtigung der Zuverlässigkeit konfiguriert?

  • Bewertung der Vorteile der Premium-Stufe von Azure Service Bus.
  • Stellen Sie sicher, dass Service Bus-Messagingausnahmen ordnungsgemäß behandelt werden.
  • Stellen Sie eine Verbindung mit dem Service Bus mit dem Advanced Messaging Queue Protocol (AMQP) her, und verwenden Sie nach Möglichkeit Dienstendpunkte oder private Endpunkte.
  • Überprüfen Sie die bewährten Verfahren zur Leistungsverbesserung mithilfe von Service Bus Messaging.
  • Implementieren Sie die Georeplikation auf der Absender- und Empfängerseite, um vor Ausfallen und Katastrophen zu schützen.
  • Konfigurieren von Geo-Disaster.
  • Wenn Sie unternehmenskritische Nachrichten mit Warteschlangen und Themen benötigen, wird Service Bus Premium mit Geo-Disaster Recovery empfohlen.
  • Implementieren Sie hohe Verfügbarkeit für den Service Bus-Namespace.
  • Stellen Sie sicher, dass verwandte Nachrichten in garantierter Reihenfolge übermittelt werden.
  • Bewerten Sie verschiedene Java Messaging Service (JMS)-Features über die JMS-API.
  • Verwenden Sie .NET Nuget-Pakete, um mit Service Bus-Nachrichtenentitäten zu kommunizieren.
  • Implementieren Sie Resilienz für die vorübergehende Fehlerbehandlung beim Senden oder Empfangen von Nachrichten.
  • Implementieren Sie die automatische Skalierung von Nachrichteneinheiten.

Konfigurationsempfehlungen

Beachten Sie die folgenden Empfehlungen zur Optimierung der Zuverlässigkeit beim Konfigurieren von Azure Service Bus:

Empfehlung Beschreibung
Bewertung der Vorteile der Premium-Stufe von Azure Service Bus. Erwägen Sie die Migration zur Premium-Servicebus-Ebene, um plattformgestützten Ausfall und Katastrophenschutz zu nutzen.
Verwenden Sie zum Herstellen einer Verbindung mit Service Bus das AMQP-Protokoll, und nutzen Sie nach Möglichkeit Dienstendpunkte oder private Endpunkte. Diese Empfehlung behält den Datenverkehr auf dem Azure Backbone bei. Hinweis: Das Standardverbindungsprotokoll für Microsoft.Azure.ServiceBus und Windows.Azure.ServiceBus Namespaces ist AMQP.
Implementieren Sie die Georeplikation auf der Absender- und Empfängerseite, um vor Ausfallen und Katastrophen zu schützen. Die Standardebene unterstützt nur die Implementierung von Absender- und empfängerseitiger Georedundanz. Ein Ausfall oder eine Katastrophe in einer Azure-Region kann zu Ausfallzeiten für Ihre Lösung führen.
Konfigurieren von Geo-Disaster. - Aktiv/Aktiv
- aktive/passive
- Gekoppelter Namespace (Aktiv/Passiv)
- Geo-Replication (Aktiv/Passiv mit vollständiger Datenreplikation)
- Hinweis: Als sekundäre Region sollte vorzugsweise eine gekoppelte Azure-Region verwendet werden.
Wenn Sie unternehmenskritische Nachrichten mit Warteschlangen und Themen benötigen, wird Service Bus Premium mit Geo-Disaster Recovery empfohlen. Die Auswahl des Musters hängt von den Geschäftsanforderungen und dem Ziel für die Wiederherstellungszeit (Recovery Time Objective, RTO) ab.
Implementieren Sie hohe Verfügbarkeit für den Service Bus-Namespace. Premium-Stufe unterstützt Geo-Notfallwiederherstellung und -replikation auf Namespaceebene. Auf dieser Ebene bietet die Premium-Ebene eine hohe Verfügbarkeit für die Metadaten-Notfallwiederherstellung mit primären und sekundären Notfallwiederherstellungsnamespaces.
Stellen Sie sicher, dass verwandte Nachrichten in garantierter Reihenfolge übermittelt werden. Beachten Sie die Anforderung zum Festlegen eines Partitionsschlüssels, einer Sitzungs-ID oder einer Nachrichten-ID für jede Nachricht, um sicherzustellen, dass verwandte Nachrichten an dieselbe Partition in der Nachrichtenentität gesendet werden.
Bewerten Sie verschiedene JMS-Features über die JMS-API. Features, die über die JMS 2.0-API (und sein Software Development Kit (SDK)) verfügbar sind, sind nicht mit den Features identisch, die über das systemeigene SDK verfügbar sind. Beispielsweise sind Service Bus-Sitzungen nicht in JMS verfügbar.
Implementieren Sie Resilienz für die vorübergehende Fehlerbehandlung beim Senden oder Empfangen von Nachrichten. Es ist wichtig, geeignete Maßnahmen zur vorübergehenden Fehlerbehebung und zur Fehlerbehandlung für Sende- und Empfangsvorgänge zu implementieren, um den Durchsatz aufrechtzuerhalten und Nachrichtenverluste zu verhindern.
Implementieren Sie die automatische Skalierung von Messagingeinheiten, um sicherzustellen, dass genügend Ressourcen für Ihre Workloads verfügbar sind.

Quellartefakte

  • Verwenden Sie die folgende Abfrage, um Premium-Servicebusinstanzen zu identifizieren, die keine privaten Endpunkte verwenden:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • Verwenden Sie die folgende Abfrage, um Dienstbusinstanzen zu identifizieren, die sich nicht auf der Premiumebene befinden:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    

Nächster Schritt