Delen via


Geo-replicatie van Azure Service Bus (preview)

De functie Geo-replicatie van Service Bus is een van de opties voor het isoleren van Azure Service Bus-toepassingen tegen storingen en noodgevallen, waarbij replicatie van zowel metagegevens (entiteiten, configuratie, eigenschappen) als gegevens (berichtgegevens en berichteigenschap/statuswijzigingen) worden geboden.

Notitie

Deze functie is beschikbaar voor de Premium-laag van Azure Service Bus.

De functie Geo-replicatie zorgt ervoor dat de metagegevens en gegevens van een naamruimte continu worden gerepliceerd van een primaire regio naar een of meer secundaire regio's.

  • Wachtrijen, onderwerpen, abonnementen, filters.
  • Gegevens, die zich in de entiteiten bevinden.
  • Alle statuswijzigingen en eigenschapswijzigingen worden uitgevoerd voor de berichten in een naamruimte.
  • Naamruimteconfiguratie.

Notitie

Op dit moment wordt slechts één secundaire ondersteund.

Met deze functie kunt u op elk gewenst moment elke secundaire regio naar primaire regio promoveren. Als u een secundaire regio promoveert, verwijst u de naam van de naam voor de naamruimte naar de geselecteerde secundaire regio en schakelt u de rollen tussen de primaire en secundaire regio. De promotie is bijna onmiddellijk gestart.

Belangrijk

  • Deze functie is momenteel beschikbaar als openbare preview en mag daarom niet worden gebruikt in productiescenario's.
  • De onderstaande regio's worden momenteel ondersteund in de openbare preview.
VS Europa
VS - centraal EUAP Italië - noord
Centraal Spanje
Noorwegen - oost
  • Deze functie is momenteel beschikbaar voor nieuwe naamruimten. Als een naamruimte deze functie eerder had ingeschakeld, kan deze worden uitgeschakeld (door de secundaire regio's te verwijderen) en opnieuw in te schakelen.
  • De volgende functies worden momenteel niet ondersteund. We werken voortdurend aan het toevoegen van meer functies aan de openbare preview en werken deze lijst bij met de nieuwste status.
    • Ondersteuning voor grote berichten.
    • VNET/geavanceerde netwerkfuncties (privé-eindpunten, IP-ACL's, NSP, service-eindpunten).
    • Identiteiten (MSI, lokale verificatie uitschakelen) en versleutelingsinstellingen (CMK-versleuteling (door de klant beheerde sleutel) of BYOK-versleuteling (Bring Your Own Key).
    • Automatisch schalen.
    • Gepartitioneerde naamruimten.
    • Gebeurtenissen verzenden naar Event Grid.
  • Deze functie kan niet worden gebruikt in combinatie met de Azure Service Bus Geo-Disaster Recovery-functie .

Scenario's

De functie Geo-replicatie kan worden gebruikt om verschillende scenario's te implementeren, zoals hier wordt beschreven.

Herstel na noodgeval

Gegevens en metagegevens worden continu gesynchroniseerd tussen de primaire en secundaire regio's. Als een regio achterloopt of niet beschikbaar is, is het mogelijk om een secundaire regio als primaire regio te promoveren. Deze promotie zorgt voor een ononderbroken werking van workloads in de zojuist gepromoveerde regio. Een dergelijke promotie kan noodzakelijk zijn door een verslechtering van Service Bus of andere services binnen uw workload, met name als u de verschillende onderdelen samen wilt uitvoeren. Afhankelijk van de ernst en beïnvloede services, kan de promotie worden gepland of geforceerd. In het geval van geplande promotie-in-flight-berichten worden gerepliceerd voordat de promotie wordt voltooid, terwijl met geforceerde promotie dit onmiddellijk wordt uitgevoerd.

Regiomigratie

Er zijn momenten waarop u uw Service Bus-workloads wilt migreren om in een andere regio uit te voeren. Wanneer Azure bijvoorbeeld een nieuwe regio toevoegt die geografisch dichter bij uw locatie, gebruikers of andere services ligt. U kunt ook migreren wanneer de regio's waar de meeste workloads worden uitgevoerd, worden verschoven. De functie Geo-replicatie biedt in deze gevallen ook een goede oplossing. In dit geval stelt u Geo-replicatie in op uw bestaande naamruimte met de gewenste nieuwe regio als secundaire regio en wacht u totdat de synchronisatie is voltooid. Op dit moment start u een geplande promotie, zodat alle in-flight berichten kunnen worden gerepliceerd. Zodra de promotie is voltooid, kunt u de oude regio, die nu de secundaire regio is, nu verwijderen en doorgaan met het uitvoeren van uw workloads in de gewenste regio.

Basisbegrippen

Met de functie Geo-replicatie worden metagegevens en gegevensreplicatie geïmplementeerd in een primair secundair replicatiemodel. Op een bepaald moment is er één primaire regio, die zowel producenten als consumenten bedient. De secundaire regio's fungeren als dynamische stand-by-regio's, wat betekent dat het niet mogelijk is om met deze secundaire regio's te communiceren. Ze worden echter uitgevoerd in dezelfde configuratie als de primaire regio, waardoor snelle promotie mogelijk is en wat betekent dat ze uw workloads onmiddellijk kunnen blijven uitvoeren nadat de promotie is voltooid. De functie Geo-replicatie is beschikbaar voor de Premium-laag.

Enkele van de belangrijkste aspecten van de functie Geo-replicatie zijn:

  • Service Bus-services voeren volledig beheerde replicatie uit van metagegevens, berichtgegevens en wijzigingen in de status en eigenschap van berichten in verschillende regio's die zich houden aan de replicatieconsistentie die is geconfigureerd in de naamruimte.
  • Hostnaam van enkele naamruimte; Na een geslaagde configuratie van een naamruimte waarvoor geo-replicatie is ingeschakeld, kunnen gebruikers de hostnaam van de naamruimte in hun clienttoepassing gebruiken. De hostnaam gedraagt zich agnostisch van de geconfigureerde primaire en secundaire regio's en verwijst altijd naar de primaire regio.
  • Wanneer een klant een promotie initieert, verwijst de hostnaam naar de regio die is geselecteerd als de nieuwe primaire regio. De oude primaire wordt een secundaire regio.
  • Het is niet mogelijk om te lezen of te schrijven in de secundaire regio's.
  • Synchrone en asynchrone replicatiemodi, verder beschreven hier.
  • Door de klant beheerde promotie van primaire naar secundaire regio, waardoor volledig eigendom en zichtbaarheid worden geboden voor de oplossing van storingen. Er zijn metrische gegevens beschikbaar, die u kunnen helpen bij het automatiseren van de promotie aan de kant van de klant.
  • Secundaire regio's kunnen naar eigen goeddunken van de klant worden toegevoegd of verwijderd.

Replicatiemodi

Er zijn twee replicatiemodi, synchroon en asynchroon. Het is belangrijk om de verschillen tussen de twee modi te kennen.

Asynchrone replicatie

Met behulp van asynchrone replicatie worden alle aanvragen doorgevoerd op de primaire aanvraag, waarna een bevestiging naar de client wordt verzonden. Replicatie naar de secundaire regio's vindt asynchroon plaats. Gebruikers kunnen de maximaal acceptabele hoeveelheid vertragingstijd configureren. De vertragingstijd is de verschuiving aan de servicezijde tussen de meest recente actie op de primaire en de secundaire regio's. Als de vertraging voor een actieve secundaire waarde groter wordt dan de gebruikersconfiguratie, begint de primaire server met het beperken van binnenkomende aanvragen.

Synchrone replicatie

Met synchrone replicatie worden alle aanvragen gerepliceerd naar de secundaire, die de bewerking moeten doorvoeren en bevestigen voordat ze op de primaire server worden doorgevoerd. Als zodanig publiceert uw toepassing met de snelheid die nodig is voor het publiceren, repliceren, bevestigen en doorvoeren. Bovendien betekent dit ook dat uw toepassing is gekoppeld aan de beschikbaarheid van beide regio's. Als de secundaire regio achterloopt of niet beschikbaar is, worden berichten niet bevestigd en doorgevoerd en worden binnenkomende aanvragen door de primaire regio beperkt.

Vergelijking van replicatiemodus

Met synchrone replicatie:

  • Latentie is langer vanwege de gedistribueerde doorvoerbewerkingen.
  • Beschikbaarheid is gekoppeld aan de beschikbaarheid van twee regio's.

Aan de andere kant biedt synchrone replicatie de grootste zekerheid dat uw gegevens veilig zijn. Als u synchrone replicatie hebt, wordt deze doorgevoerd in alle regio's die u hebt geconfigureerd voor geo-replicatie, wat de beste gegevensgarantie biedt.

Met asynchrone replicatie:

  • Latentie wordt minimaal beïnvloed.
  • Het verlies van een secundaire regio heeft niet onmiddellijk invloed op de beschikbaarheid. De beschikbaarheid wordt echter beïnvloed zodra de geconfigureerde maximale replicatievertraging is bereikt.

Daarom heeft het niet de absolute garantie dat alle regio's de gegevens hebben voordat we deze doorvoeren, zoals synchrone replicatie, en gegevensverlies of duplicatie kunnen optreden. Omdat u echter niet meer onmiddellijk last hebt van een vertraging in één regio of niet beschikbaar is, verbetert de beschikbaarheid van toepassingen, naast een lagere latentie.

Mogelijkheid Synchrone replicatie Asynchrone replicatie
Latentie Langer vanwege gedistribueerde doorvoerbewerkingen Minimaal beïnvloed
Beschikbaarheid Gekoppeld aan beschikbaarheid van secundaire regio's Verlies van een secundaire regio heeft niet onmiddellijk invloed op de beschikbaarheid
Gegevensconsistentie Gegevens die altijd in beide regio's zijn vastgelegd vóór bevestiging Gegevens die alleen vóór bevestiging in primaire gegevens zijn vastgelegd
RPO (Recovery Point Objective) RPO 0, geen gegevensverlies bij promotie RPO > 0, mogelijk gegevensverlies bij promotie

De replicatiemodus kan worden gewijzigd nadat geo-replicatie is geconfigureerd. U kunt van synchroon naar asynchroon of van asynchroon naar synchroon gaan. Als u van asynchroon naar synchroon gaat, wordt uw secundaire configuratie geconfigureerd als synchroon nadat de vertraging nul bereikt. Als u om welke reden dan ook met een continue vertraging werkt, moet u de uitgevers mogelijk onderbreken om vertraging nul te bereiken en uw modus om over te schakelen naar synchrone bewerkingen. De redenen waarom synchrone replicatie is ingeschakeld, in plaats van asynchrone replicatie, zijn gekoppeld aan het belang van de gegevens, specifieke bedrijfsbehoeften of nalevingsredenen, in plaats van de beschikbaarheid van uw toepassing.

Notitie

Als een secundaire regio achterloopt of niet meer beschikbaar is, kan de toepassing niet meer repliceren naar deze regio en wordt de beperking gestart zodra de replicatievertraging is bereikt. Als u de naamruimte op de primaire locatie wilt blijven gebruiken, kan de secundaire regio worden verwijderd. Als er geen secundaire regio's meer zijn geconfigureerd, wordt de naamruimte voortgezet zonder geo-replicatie ingeschakeld. Het is mogelijk om op elk gewenst moment extra secundaire regio's toe te voegen.

Selectie secundaire regio

Als u de functie Geo-replicatie wilt inschakelen, moet u primaire en secundaire regio's gebruiken waarvoor de functie is ingeschakeld. De functie Geo-replicatie is afhankelijk van het kunnen repliceren van gepubliceerde berichten van de primaire naar de secundaire regio's. Als de secundaire regio zich op een ander continent bevindt, heeft dit een grote invloed op replicatievertraging van de primaire naar de secundaire regio. Als u geo-replicatie gebruikt om beschikbaarheidsredenen, kunt u het beste gebruikmaken van secundaire regio's die waar mogelijk ten minste op hetzelfde continent zijn. Als u een beter inzicht wilt krijgen in de latentie die wordt veroorzaakt door geografische afstand, kunt u meer leren van de latentiestatistieken van het Azure-netwerk voor retouren.

Geo-replicatiebeheer

Met de functie Geo-replicatie kunnen klanten een secundaire regio configureren waarmee metagegevens en gegevens kunnen worden gerepliceerd. Als zodanig kunnen klanten de volgende beheertaken uitvoeren:

  • Geo-replicatie configureren; Secundaire regio's kunnen worden geconfigureerd voor elke nieuwe of bestaande naamruimte in een regio waarvoor de functie Geo-replicatie is ingeschakeld.

    Notitie

    Momenteel worden alleen nieuwe naamruimten in de openbare preview ondersteund.

  • De replicatieconsistentie configureren; Synchrone en asynchrone replicatie wordt ingesteld wanneer Geo-replicatie is geconfigureerd, maar kan later ook worden overgeschakeld.
  • Activeringspromotie; Alle promoties worden door de klant geïnitieerd.
  • Een secundaire verwijderen; Als u op elk gewenst moment een secundaire regio wilt verwijderen, kunt u dit doen waarna de gegevens in de secundaire regio worden verwijderd.

Instellingen

Azure-portal gebruiken

De volgende sectie is een overzicht van het instellen van de functie Geo-replicatie in een nieuwe naamruimte via Azure Portal.

Notitie

Deze ervaring kan veranderen tijdens de openbare preview. Dit document wordt dienovereenkomstig bijgewerkt.

  1. Maak een nieuwe naamruimte voor de Premium-laag.
  2. Schakel het selectievakje Geo-replicatie inschakelen in onder de sectie Replicatie (preview).
  3. Klik op de knop Secundaire regio toevoegen en kies een regio.
  4. Schakel het selectievakje Synchrone replicatie in of geef in seconden een waarde op voor de Async-replicatie: maximale replicatievertragingswaarde . Schermopname van de ervaring Naamruimte maken waarvoor Geo-replicatie is ingeschakeld.

Bicep-sjabloon gebruiken

Als u een naamruimte wilt maken waarvoor de functie Geo-replicatie is ingeschakeld, voegt u de sectie geoDataReplication-eigenschappen toe.

param serviceBusName string
param primaryLocation string
param secondaryLocation string
param maxReplicationLagInSeconds int

resource sb 'Microsoft.ServiceBus/namespaces@2023-01-01-preview' = {
  name: serviceBusName
  location: primaryLocation
  sku: {
    name: 'Premium'
    tier: 'Premium'
    capacity: 1
  }
  properties: {
    geoDataReplication: {
      maxReplicationLagDurationInSeconds: maxReplicationLagInSeconds
      locations: [
        {
          locationName: primaryLocation
          roleType: 'Primary'
        }
        {
          locationName: secondaryLocation
          roleType: 'Secondary'
        }
      ]
    }
  }
}

Beheer

Zodra u een naamruimte hebt gemaakt waarvoor de functie Geo-replicatie is ingeschakeld, kunt u de functie beheren via de blade Replicatie (preview).

Schakelen tussen replicatiemodus

Als u wilt schakelen tussen replicatiemodi of de maximale replicatievertraging wilt bijwerken, klikt u op de koppeling onder Replicatieconsistentie en schakelt u het selectievakje in om synchrone replicatie in of uit te schakelen, of werkt u de waarde in het tekstvak bij om de asynchrone maximale replicatievertraging te wijzigen. Schermopname van het bijwerken van de configuratie van de functie Geo-replicatie.

Secundaire regio verwijderen

Als u een secundaire regio wilt verwijderen, klikt u op de ...-beletselteken naast de regio en klik op Verwijderen. Als u de regio wilt verwijderen, volgt u de instructies op de pop-upblade. Schermopname die laat zien hoe u een secundaire regio verwijdert.

Promotiestroom

Een promotie wordt handmatig geactiveerd door de klant (expliciet via een opdracht of via bedrijfslogica die eigendom is van de client die de opdracht activeert) en nooit door Azure. Het geeft de klant volledig eigendom en inzicht in de oplossing van storingen op de backbone van Azure. Wanneer u geplande promotie kiest, wacht de service om de replicatievertraging te achterhalen voordat de promotie wordt gestart. Aan de andere kant, bij het kiezen van geforceerde promotie, start de service onmiddellijk de promotie. De naamruimte wordt in de modus Alleen-lezen geplaatst vanaf het moment dat een promotie wordt aangevraagd, tot het tijdstip waarop de promotie is voltooid. Het is mogelijk om op elk gewenst moment een geforceerde promotie uit te voeren nadat een geplande promotie is gestart. Hierdoor heeft de gebruiker de controle over het versnellen van de promotie, wanneer een geplande failover langer duurt dan gewenst.

Belangrijk

Bij het gebruik van geforceerde promotie gaan alle gegevens die niet zijn gerepliceerd mogelijk verloren.

Nadat de promotie is gestart:

  1. De hostnaam wordt bijgewerkt zodat deze verwijst naar de secundaire regio. Dit kan enkele minuten duren.

    Notitie

    U kunt de huidige primaire regio controleren door een ping-opdracht te starten: ping your-namespace-fully-qualified-name

  2. Clients maken automatisch opnieuw verbinding met de secundaire regio.

Schermopname van de portal met de promotiestroom van primaire naar secundaire regio.

U kunt promotie automatiseren met bewakingssystemen of met aangepaste bewakingsoplossingen. Voor dergelijke automatisering is echter extra planning en werk nodig, wat buiten het bereik van dit artikel valt.

Azure-portal gebruiken

Klik in de portal op het pictogram Niveau verhogen en volg de instructies op de pop-upblade om de regio te verwijderen.

Screeshot met de stroom om het niveau van secundaire regio te verhogen.

Azure CLI gebruiken

Voer de Azure CLI-opdracht uit om de promotie te starten. De eigenschap Force is optioneel en is standaard ingesteld op false.

az rest --method post --url https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ServiceBus/namespaces/<namespaceName>/failover?api-version=2023-01-01-preview --body "{'properties': {'PrimaryLocation': '<newPrimaryocation>', 'api-version':'2023-01-01-preview', 'Force':'false'}}"

Gegevensreplicatie bewaken

Gebruikers kunnen de voortgang van de replicatietaak controleren door de metrische replicatievertragingsgegevens in Log Analytics te bewaken.

  • Schakel metrische logboeken in uw Service Bus-naamruimte in, zoals beschreven in Monitor Azure Service Bus.
  • Zodra metrische logboeken zijn ingeschakeld, moet u enkele minuten gegevens uit de naamruimte produceren en gebruiken voordat u de logboeken gaat zien.
  • Als u metrische logboeken wilt weergeven, gaat u naar de sectie Bewaking van Service Bus en klikt u op de blade Logboeken . U kunt de volgende query gebruiken om de replicatievertraging (in seconden) tussen de primaire en secundaire regio's te vinden.
AzureMetrics
| where TimeGenerated > ago(1h)
| where MetricName == "ReplicationLagDuration"

Gegevens publiceren

Het publiceren van toepassingen kan gegevens publiceren naar geo-gerepliceerde naamruimten via de naamruimtehostnaam van de naamruimte waarvoor geo-replicatie is ingeschakeld. De publicatiebenadering is hetzelfde als de case voor niet-geo-replicatie en er zijn geen wijzigingen in sdk's voor gegevensvlak of clienttoepassingen vereist. Publiceren is mogelijk niet beschikbaar in de volgende omstandigheden:

  • Nadat de promotie van een secundaire regio is aangevraagd, weigert de bestaande primaire regio nieuwe berichten die naar Service Bus worden gepubliceerd totdat de promotie is voltooid.
  • Wanneer de replicatievertraging tussen primaire en secundaire regio's de maximale duur van de replicatievertraging bereikt, wordt de workload voor inkomend verkeer van de uitgever mogelijk beperkt.

Publisher-toepassingen hebben geen rechtstreeks toegang tot naamruimten in de secundaire regio's.

Gegevens gebruiken

Het gebruik van toepassingen kan gegevens verbruiken met behulp van de hostnaam van een naamruimte van een naamruimte waarvoor de functie Geo-replicatie is ingeschakeld. Consumentenbewerkingen worden niet ondersteund vanaf het moment dat de promotie wordt gestart totdat de promotie is voltooid.

Overwegingen

Houd rekening met de volgende overwegingen om rekening te houden met deze release:

  • In uw promotieplanning moet u ook rekening houden met de tijdsfactor. Als u bijvoorbeeld langer dan 15 tot 20 minuten geen verbinding meer hebt, kunt u besluiten om de promotie te starten.
  • Het bevorderen van een complexe gedistribueerde infrastructuur moet minstens één keer worden uitgevoerd .

Prijzen

De Premium-laag voor Service Bus is per berichteneenheid geprijsd. Met de functie Geo-replicatie worden secundaire regio's uitgevoerd op hetzelfde aantal RU's als de primaire regio en worden de prijzen berekend over het totale aantal RU's. Daarnaast worden er kosten in rekening gebracht op basis van de gepubliceerde bandbreedte en het aantal secundaire regio's. Tijdens de vroege openbare preview worden deze kosten niet in rekening gebracht.

Volgende stappen

Zie de volgende artikelen voor meer informatie over Service Bus-berichten: