Delen via


Service Bus en betrouwbaarheid

Beheer bedrijfsberichtenverwerking volledig met berichtenwachtrijen en publiceer-abonneerthema's die worden gebruikt in Azure Service Bus. Met deze service worden berichten opgeslagen in een broker- (bijvoorbeeld een wachtrij) totdat de verbruikende partij klaar is om de berichten te ontvangen.

Voordelen zijn onder andere:

  • Taakverdeling voor concurrerende werknemers.
  • Veilig routeren en overdragen van gegevens en controle over service- en toepassingsgrenzen.
  • Het coördineren van transactioneel werk waarvoor een hoge mate van betrouwbaarheid is vereist.

Raadpleeg Azure Service Bus Messaging-voor meer informatie over het gebruik van Service Bus. Meer informatie over het instellen van berichten waarmee toepassingen en services worden verbonden in on-premises en cloudomgevingen.

Raadpleeg de volgende onderwerpen om te begrijpen hoe Service Bus bijdraagt aan een betrouwbare workload:

Notitie

Voorheen was het vereist om de eigenschap in te stellen zoneRedundant op true om beschikbaarheidszones in te schakelen, maar dit gedrag is gewijzigd om standaard beschikbaarheidszones in te schakelen. Bestaande naamruimten worden waar mogelijk gemigreerd naar beschikbaarheidszones en de eigenschap zoneRedundant wordt afgeschaft. De eigenschap zoneRedundant kan nog steeds worden weergegeven als false, zelfs wanneer beschikbaarheidszones zijn ingeschakeld.

De volgende secties zijn specifiek voor Azure Service Bus en betrouwbaarheid:

  • Ontwerpoverwegingen
  • Controlelijst voor configuratie
  • Aanbevolen configuratieopties
  • Bronartefacten

Ontwerpoverwegingen

Maximaliseer de betrouwbaarheid met een SLA voor azure Service Bus-uptime. Goed geconfigureerde toepassingen kunnen berichten verzenden of ontvangen, of andere bewerkingen uitvoeren in een geïmplementeerde wachtrij of onderwerp. Raadpleeg de Service Bus SLA-voor meer informatie.

Andere ontwerpoverwegingen zijn:

Naast de documentatie over Service Bus Premium- en Standard-berichtenlagen, zijn de volgende functies alleen beschikbaar op de Premium Stock Keeping Unit (SKU):

  • Toegewezen middelen.
  • Integratie van virtuele netwerken: hiermee beperkt u de netwerken die verbinding kunnen maken met het Service Bus-exemplaar. Vereist dat service-eindpunten zijn ingeschakeld op het subnet. Er zijn vertrouwde Microsoft-services die niet worden ondersteund bij het implementeren van virtuele netwerken (bijvoorbeeld integratie met Event Grid). Voor meer informatie, raadpleeg Toegang tot Azure Service Bus-naamruimte vanuit specifieke virtuele netwerken.
  • Privé-eindpunten.
  • IP-filtering/firewall-: verbindingen beperken tot alleen gedefinieerde IPv4 adressen of IPv4 adresbereiken.
  • Event Grid-integratie: Beschikbare gebeurtenistypen.
  • Schaal berichteneenheden.
  • Geo-Disaster Recovery- (gekoppelde naamruimte).
  • geo-replicatie (volledige gegevensreplicatie tussen regio's).
  • CMK -: Azure Service Bus versleutelt gegevens in rust en ontsleutelt deze automatisch wanneer ze worden geopend, maar klanten kunnen ook hun eigen klantbeheerde sleutel meenemen.

Bij het implementeren van Service Bus met Geo-rampenherstel en in beschikbaarheidszones neemt de Service Level Operation (SLO) aanzienlijk toe, maar verandert de uptime SLA niet.

Controlelijst

Hebt u Azure Service Bus geconfigureerd met het oog op betrouwbaarheid?

  • Evalueer de voordelen van de Premium-laag van Azure Service Bus.
  • Zorg ervoor dat Service Bus Messaging Exceptions correct worden verwerkt.
  • Maak verbinding met Service Bus met het Advanced Messaging Queue Protocol (AMQP) en gebruik waar mogelijk Service-eindpunten of privé-eindpunten.
  • Bekijk de Best practices voor prestatieverbeteringen met behulp van Service Bus Messaging.
  • Implementeer geo-replicatie aan de kant van de afzender en ontvanger om bescherming te bieden tegen storingen en rampen.
  • Configureer geo-noodgeval.
  • Als u bedrijfskritieke berichten met wachtrijen en onderwerpen nodig hebt, wordt Service Bus Premium aanbevolen met Geo-Disaster Recovery.
  • Implementeer hoge beschikbaarheid voor de Service Bus-naamruimte.
  • Zorg ervoor dat gerelateerde berichten in gegarandeerde volgorde worden bezorgd.
  • Evalueer verschillende JMS-functies (Java Messaging Service) via de JMS-API.
  • Gebruik .NET Nuget-pakketten om te communiceren met Service Bus-berichtenentiteiten.
  • Implementeer tolerantie voor tijdelijke foutafhandeling bij het verzenden of ontvangen van berichten.
  • Implementeer automatisch schalen van berichteneenheden.

Aanbevelingen voor configuratie

Houd rekening met de volgende aanbevelingen om de betrouwbaarheid te optimaliseren bij het configureren van Azure Service Bus:

Aanbeveling Beschrijving
Evalueer de voordelen van de Premium-laag van Azure Service Bus. Overweeg om te migreren naar de Premium-laag van Service Bus om te profiteren van door het platform ondersteunde storingen en bescherming tegen noodgevallen.
Maak verbinding met Service Bus met het AMQP-protocol en gebruik waar mogelijk Service-eindpunten of privé-eindpunten. Met deze aanbeveling blijft verkeer op de Azure Backbone. Opmerking: het standaardverbindingsprotocol voor Microsoft.Azure.ServiceBus en Windows.Azure.ServiceBus naamruimten is AMQP.
Implementeer geo-replicatie aan de kant van de afzender en ontvanger om bescherming te bieden tegen storingen en rampen. De Standard-laag ondersteunt alleen de implementatie van geo-redundantie aan de kant van de afzender en ontvanger. Een storing of noodgeval in een Azure-regio kan downtime voor uw oplossing veroorzaken.
Configureer geo-noodgeval. - actief/actief
- actief/passief
- gekoppelde naamruimte (actief/passief)
- Geo-Replication (actief/passief met volledige gegevensreplicatie)
- Opmerking: de secundaire regio moet bij voorkeur een gekoppelde Azure-regiozijn.
Als u bedrijfskritieke berichten met wachtrijen en onderwerpen nodig hebt, wordt Service Bus Premium aanbevolen met Geo-Disaster Recovery. Het kiezen van het patroon is afhankelijk van de bedrijfsvereisten en de beoogde hersteltijd (RTO).
Implementeer hoge beschikbaarheid voor de Service Bus-naamruimte. Premium-laag biedt ondersteuning voor herstel na noodgevallen en replicatie op naamruimteniveau. Op dit niveau biedt de Premium-laag hoge beschikbaarheid voor herstel na noodgevallen voor metagegevens met behulp van primaire en secundaire naamruimten voor herstel na noodgevallen.
Zorg ervoor dat gerelateerde berichten in gegarandeerde volgorde worden bezorgd. Houd rekening met de vereiste voor het instellen van een partitiesleutel, sessie-id of bericht-id voor elk bericht om ervoor te zorgen dat gerelateerde berichten worden verzonden naar dezelfde partitie in de berichtenentiteit.
Evalueer verschillende JMS-functies via de JMS-API. Functies die beschikbaar zijn via de JMS 2.0-API (en de Software Development Kit (SDK)) zijn niet hetzelfde als de functies die beschikbaar zijn via de systeemeigen SDK. Service Bus-sessies zijn bijvoorbeeld niet beschikbaar in JMS.
Implementeer tolerantie voor tijdelijke foutafhandeling bij het verzenden of ontvangen van berichten. Het is essentieel om geschikte tijdelijke foutafhandeling en foutafhandeling te implementeren voor verzend- en ontvangstbewerkingen om doorvoer te behouden en berichtverlies te voorkomen.
Implementeer automatische schaalvergroting van berichteneenhedenom ervoor te zorgen dat er voldoende resources beschikbaar zijn voor uw workloads.

Bronartefacten

  • Gebruik de volgende query om Premium Service Bus-exemplaren te identificeren die geen privé-eindpunten gebruiken:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • Gebruik de volgende query om Service Bus-exemplaren te identificeren die zich niet in de Premium-laag bevinden:

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

Volgende stap