Sdílet prostřednictvím


Geografická replikace služby Azure Service Bus (Preview)

Funkce geografické replikace služby Service Bus je jednou z možností izolace aplikací služby Azure Service Bus před výpadky a haváriemi a poskytuje replikaci metadat (entit, konfigurace, vlastností) a dat (data zpráv a vlastnosti zpráv / změny stavu).

Poznámka:

Tato funkce je dostupná pro úroveň Premium služby Azure Service Bus.

Funkce geografické replikace zajišťuje, že se metadata a data oboru názvů průběžně replikují z primární oblasti do jedné nebo více sekundárních oblastí.

  • Fronty, témata, odběry, filtry.
  • Data, která se nacházejí v entitách.
  • Všechny změny stavu a změny vlastností provedené vůči zprávám v rámci oboru názvů.
  • Konfigurace oboru názvů

Poznámka:

V současné době se podporuje jenom jedna sekundární.

Tato funkce umožňuje kdykoli propagovat jakoukoli sekundární oblast na primární. Povýšení sekundárního repointu název oboru názvů na vybranou sekundární oblast a přepne role mezi primární a sekundární oblastí. Povýšení je téměř okamžité po zahájení.

Důležité

  • Tato funkce je aktuálně ve verzi Public Preview a proto by se neměla používat v produkčních scénářích.
  • Ve verzi Public Preview se v současné době podporují následující oblasti.
Oblast Oblast Oblast
Austrálie – střed NěmeckoNorth NorskoWest
Austrálie – střed2 NěmeckoWestCentral Polsko – střed
AustraliaEast Izrael – střed SouthAfricaNorth
AustraliaSoutheast ItálieNorth SouthAfricaWest
BrazílieSoutheast JapanEast SoutheastAsia
CanadaCentral JapanWest SouthIndia
CanadaEast JioIndiaCentral ŠpanělskoCentral
CentralIndia Jio Indie – západ Švédsko – střed
CentralUS KoreaCentral SwitzerlandNorth
CentralUSEUAP KoreaSouth ŠvýcarskoWest
EastAsia MexicoCentral Spojené arabské emiráty – střed
EastUS2 NorthCentralUS UAENorth
FranceCentral Severní Evropa UkSouth
FranceSouth NorwayEast UkWest
  • Tato funkce je aktuálně dostupná pro nové obory názvů. Pokud dříve byla tato funkce oboru názvů povolená, můžete ji zakázat (odebráním sekundárních oblastí) a znovu ji povolit.
  • Následující funkce se v současné době nepodporují. Neustále pracujeme na přenesení dalších funkcí do verze Public Preview a tento seznam aktualizujeme nejnovějším stavem.
    • Podpora velkých zpráv
    • Virtuální síť / pokročilé síťové funkce (privátní koncové body, seznamy ACL PROTOKOLU IP, NSP, koncové body služby).
    • Identity (MSI, zakázání místního ověřování) a nastavení šifrování (šifrování klíče spravovaného zákazníkem (CMK) nebo použití vlastního klíče (BYOK).
    • Automatické škálování
    • Dělené obory názvů.
    • Odesílání událostí do Event Gridu
  • Tuto funkci nejde použít v kombinaci s funkcí Geografické zotavení po havárii služby Azure Service Bus.

Scénáře

Funkci geografické replikace můžete použít k implementaci různých scénářů, jak je popsáno zde.

Zotavení po havárii

Data a metadata se průběžně synchronizují mezi primárními a sekundárními oblastmi. Pokud oblast zpožďuje nebo není dostupná, je možné zvýšit úroveň sekundární oblasti jako primární. Toto povýšení umožňuje nepřerušený provoz úloh v nově propagované oblasti. Takové zvýšení úrovně může být vyžadováno snížením služby Service Bus nebo jinými službami v rámci vaší úlohy, zejména pokud se snažíte spouštět různé komponenty společně. V závislosti na závažnosti a ovlivněných službách může být povýšení naplánováno nebo vynuceno. V případě plánovaných propagačních zpráv v letu se před dokončením povýšení replikují, zatímco vynucené povýšení se okamžitě spustí.

Migrace oblastí

Existují časy, kdy chcete migrovat úlohy služby Service Bus tak, aby běžely v jiné oblasti. Například když Azure přidá novou oblast, která je geograficky blíže k vaší poloze, uživatelům nebo jiným službám. Případně můžete chtít migrovat, když se přesunou oblasti, ve kterých se většina úloh spouští. Funkce geografické replikace poskytuje v těchto případech také dobré řešení. V takovém případě byste v existujícím oboru názvů nastavili geografickou replikaci s požadovanou novou oblastí jako sekundární oblastí a čekali na dokončení synchronizace. V tomto okamžiku byste zahájili plánované povýšení, což umožní replikaci všech zpráv v letu. Po dokončení povýšení teď můžete volitelně odebrat starou oblast, což je teď sekundární oblast, a pokračovat ve spouštění úloh v požadované oblasti.

Základní koncepty

Funkce geografické replikace implementuje metadata a replikaci dat v primárním sekundárním modelu replikace. V daném okamžiku existuje jedna primární oblast, která obsluhuje producenty i spotřebitele. Sekundární oblasti fungují jako horké samostatné oblasti, což znamená, že s těmito sekundárními oblastmi není možné pracovat. Běží ale ve stejné konfiguraci jako primární oblast, což umožňuje rychlé povýšení a znamená, že vaše úlohy můžou po dokončení povýšení okamžitě pokračovat ve spuštění. Funkce geografické replikace je k dispozici pro úroveň Premium.

Mezi klíčové aspekty funkce geografické replikace patří:

  • Služby Service Bus provádějí plně spravovanou replikaci metadat, dat zpráv a změn stavu zpráv a vlastností napříč oblastmi, které dodržují konzistenci replikace nakonfigurovanou v oboru názvů.
  • Jeden název hostitele oboru názvů; Po úspěšné konfiguraci oboru názvů s povolenou geografickou replikací můžou uživatelé ve své klientské aplikaci použít název hostitele oboru názvů. Název hostitele se chová jako nezávislý na nakonfigurovaných primárních a sekundárních oblastech a vždy odkazuje na primární oblast.
  • Když zákazník zahájí povýšení, název hostitele odkazuje na oblast vybranou jako nová primární oblast. Původní primární oblast se stane sekundární oblastí.
  • V sekundárních oblastech není možné číst ani zapisovat.
  • Synchronní a asynchronní režimy replikace, které jsou podrobněji popsány tady.
  • Povýšení spravované zákazníkem z primární do sekundární oblasti, které poskytuje úplné vlastnictví a přehled o řešení výpadků. K dispozici jsou metriky, které vám můžou pomoct automatizovat povýšení na straně zákazníka.
  • Sekundární oblasti je možné přidat nebo odebrat podle vlastního uvážení zákazníka.

Režimy replikace

Existují dva režimy replikace, synchronní a asynchronní. Je důležité znát rozdíly mezi těmito dvěma režimy.

Asynchronní replikace

Pomocí asynchronní replikace se všechny požadavky potvrdí na primárním serveru, po kterém se klientovi odešle potvrzení. Replikace do sekundárních oblastí probíhá asynchronně. Uživatelé mohou nakonfigurovat maximální přijatelnou dobu prodlevy. Prodleva je posun na straně služby mezi poslední akcí v primární a sekundární oblasti. Pokud prodleva aktivního sekundárního objektu překročí konfiguraci uživatele, primární zahájí omezování příchozích požadavků.

Synchronní replikace

Pomocí synchronní replikace se všechny požadavky replikují do sekundárního serveru, které musí potvrdit a potvrdit operaci před potvrzením primární replikace. Vaše aplikace se proto publikuje rychlostí, jakou trvá publikování, replikaci, potvrzení a potvrzení. Navíc to znamená, že vaše aplikace je svázaná s dostupností obou oblastí. Pokud sekundární oblast zaostává nebo je nedostupná, zprávy nebudou potvrzeny a potvrzeny a primární bude omezovat příchozí požadavky.

Porovnání režimu replikace

Synchronní replikace:

  • Latence je delší kvůli distribuovaným operacím potvrzení.
  • Dostupnost je svázaná s dostupností dvou oblastí.

Na druhou stranu synchronní replikace poskytuje největší jistotu, že jsou vaše data v bezpečí. Pokud máte synchronní replikaci, po potvrzení se potvrdí ve všech oblastech, které jste nakonfigurovali pro geografickou replikaci, a zajistí tak nejlepší záruku dat.

S asynchronní replikací:

  • Latence je ovlivněna minimálně.
  • Ztráta sekundární oblasti okamžitě neovlivní dostupnost. Dostupnost se ale projeví po dosažení nakonfigurované maximální prodlevy replikace.

Proto nemá absolutní záruku, že všechny oblasti mají data před potvrzením, jako je synchronní replikace, a může dojít ke ztrátě nebo duplikaci dat. Protože už ale nemáte okamžitý dopad na prodlevu v jedné oblasti nebo je nedostupná, dostupnost aplikace se kromě nižší latence zlepší.

Schopnost Synchronní replikace Asynchronní replikace
Latence Delší kvůli distribuovaným operacím potvrzení Minimálně ovlivněno
Dostupnost Svázané s dostupností sekundárních oblastí Ztráta sekundární oblasti nemá okamžitě vliv na dostupnost
Konzistence dat Data se vždy potvrdí v obou oblastech před potvrzením. Data potvrzená v primárním serveru pouze před potvrzením
Cíl bodu obnovení (cíl bodu obnovení) RPO 0, žádná ztráta dat při povýšení RPO > 0, možné ztráty dat při povýšení

Režim replikace lze po konfiguraci geografické replikace změnit. Můžete přejít z synchronního na asynchronní nebo asynchronní až synchronní. Pokud přejdete z asynchronního na synchronní, sekundární se nakonfiguruje jako synchronní, jakmile prodleva dosáhne nuly. Pokud běžíte s nepřetržitou prodlevou z jakéhokoli důvodu, možná budete muset pozastavit vydavatele, aby prodleva dosáhla nuly a váš režim mohl přepnout na synchronní. Důvody povolení synchronní replikace místo asynchronní replikace jsou svázané s důležitostí dat, specifickými obchodními potřebami nebo důvody dodržování předpisů místo dostupnosti vaší aplikace.

Poznámka:

V případě prodlevy sekundární oblasti nebo nedostupnosti už aplikace nebude moct replikovat do této oblasti a po dosažení prodlevy replikace se zahájí omezování. Chcete-li pokračovat v používání oboru názvů v primárním umístění, je možné odebrat zasaženou sekundární oblast. Pokud nejsou nakonfigurované další sekundární oblasti, obor názvů bude pokračovat bez povolené geografické replikace. Další sekundární oblasti je možné kdykoli přidat.

Výběr sekundární oblasti

Pokud chcete povolit funkci geografické replikace, musíte použít primární a sekundární oblasti, kde je tato funkce povolená. Funkce geografické replikace závisí na možnosti replikovat publikované zprávy z primární do sekundárních oblastí. Pokud je sekundární oblast na jiném kontinentu, má to významný dopad na prodlevu replikace od primární do sekundární oblasti. Pokud z důvodů dostupnosti používáte geografickou replikaci, je nejlepší, když jsou sekundární oblasti alespoň na stejném kontinentu, kde je to možné. Pokud chcete lépe porozumět latenci vyvolané geografickou vzdáleností, můžete se dozvědět více ze statistik latence odezvy sítě Azure.

Správa geografické replikace

Funkce geografické replikace umožňuje zákazníkům nakonfigurovat sekundární oblast, do které se mají replikovat metadata a data. Zákazníci proto můžou provádět následující úlohy správy:

  • Konfigurace geografické replikace; Sekundární oblasti je možné nakonfigurovat pro jakýkoli nový nebo existující obor názvů v oblasti s povolenou funkcí geografické replikace.

    Poznámka:

    V současné době se ve verzi Public Preview podporují jenom nové obory názvů.

  • Konfigurace konzistence replikace; Synchronní a asynchronní replikace se nastaví, když je nakonfigurovaná geografická replikace, ale dá se také přepnout později.
  • Aktivace povýšení; Všechny propagační akce jsou iniciované zákazníkem.
  • Odebrat sekundární; Pokud chcete kdykoli odebrat sekundární oblast, můžete to udělat po odstranění dat v sekundární oblasti.

Nastavení

Pomocí webu Azure Portal

Následující část obsahuje přehled nastavení funkce geografické replikace na novém oboru názvů prostřednictvím webu Azure Portal.

Poznámka:

Toto prostředí se může během veřejné verze Preview změnit. Tento dokument odpovídajícím způsobem aktualizujeme.

  1. Vytvořte nový obor názvů úrovně Premium.
  2. Zaškrtněte políčko Povolit geografickou replikaci v části Replikace (Preview).
  3. Klikněte na tlačítko Přidat sekundární oblast a zvolte oblast.
  4. Zaškrtněte políčko Synchronní replikace nebo zadejte hodnotu asynchronní replikace – maximální prodleva replikace v sekundách. Snímek obrazovky znázorňující prostředí Vytvořit obor názvů s povolenou geografickou replikací

Použití šablony Bicep

Pokud chcete vytvořit obor názvů s povolenou funkcí geografické replikace, přidejte část vlastností geoDataReplication .

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'
        }
      ]
    }
  }
}

Správa

Jakmile vytvoříte obor názvů s povolenou funkcí geografické replikace, můžete ji spravovat v okně Replikace (Preview).

Přepnout režim replikace

Pokud chcete přepnout mezi režimy replikace nebo aktualizovat maximální prodlevu replikace, klikněte na odkaz v části Konzistence replikace a kliknutím na zaškrtávací políčko povolte nebo zakažte synchronní replikaci nebo aktualizujte hodnotu v textovém poli, aby se změnila asynchronní maximální prodleva replikace. Snímek obrazovky znázorňující, jak aktualizovat konfiguraci funkce geografické replikace

Odstranění sekundární oblasti

Chcete-li odebrat sekundární oblast, klikněte na tlačítko ...-tři tečky vedle oblasti a klikněte na Odstranit. Pokud chcete oblast odstranit, postupujte podle pokynů v automaticky otevíraných oknech. Snímek obrazovky znázorňující, jak odstranit sekundární oblast

Tok povýšení

Povýšení aktivuje zákazník ručně (buď explicitně příkazem, nebo prostřednictvím obchodní logiky vlastněné klientem, která příkaz aktivuje) a nikdy Azure. Poskytuje zákazníkovi úplné vlastnictví a přehled o řešení výpadků v páteřní síti Azure. Když zvolíte Plánované povýšení, služba před zahájením povýšení čeká na zachycení prodlevy replikace. Na druhou stranu při výběru vynuceného povýšení služba okamžitě zahájí povýšení. Obor názvů bude umístěn v režimu jen pro čtení od okamžiku, kdy se požaduje povýšení, dokud se povýšení nedokončí. Vynucené povýšení je možné provést kdykoli po zahájení plánovaného povýšení. Tím se uživateli umožní urychlit povýšení, když plánované převzetí služeb při selhání trvá déle, než je žádoucí.

Důležité

Při použití vynuceného povýšení se můžou ztratit všechna data, která nebyla replikována.

Po zahájení povýšení:

  1. Název hostitele se aktualizuje tak, aby ukazoval na sekundární oblast, což může trvat až několik minut.

    Poznámka:

    Aktuální primární oblast můžete zkontrolovat spuštěním příkazu ping: ping your-namespace-fully-qualified-name

  2. Klienti se automaticky znovu připojují k sekundární oblasti.

Snímek obrazovky portálu znázorňující tok povýšení z primární do sekundární oblasti

Povýšení můžete automatizovat buď pomocí monitorovacích systémů, nebo pomocí vlastních řešení pro monitorování. Taková automatizace ale vyžaduje dodatečné plánování a práci, která je mimo rozsah tohoto článku.

Pomocí webu Azure Portal

Na portálu klikněte na ikonu Zvýšit úroveň a podle pokynů v automaticky otevíraných oknech oblast odstraňte.

Snímek obrazovky znázorňující tok pro zvýšení úrovně sekundární oblasti

Pomocí Azure CLI

Spuštěním příkazu Azure CLI zahajte povýšení. Vlastnost Force je volitelná a výchozí hodnota je 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': '<newPrimaryLocation>', 'api-version':'2023-01-01-preview', 'Force':'false'}}"

Monitorování replikace dat

Uživatelé můžou monitorovat průběh úlohy replikace monitorováním metriky prodlevy replikace v Log Analytics.

  • Povolte protokoly metrik v oboru názvů služby Service Bus, jak je popsáno v tématu Monitorování služby Azure Service Bus.
  • Jakmile jsou protokoly metrik povolené, je potřeba vytvořit a využívat data z oboru názvů po dobu několika minut, než začnete protokoly zobrazovat.
  • Pokud chcete zobrazit protokoly metrik, přejděte do části Monitorování služby Service Bus a klikněte na okno Protokoly . Pomocí následujícího dotazu můžete najít prodlevu replikace (v sekundách) mezi primárními a sekundárními oblastmi.
AzureMetrics
| where TimeGenerated > ago(1h)
| where MetricName == "ReplicationLagDuration"

Publikování dat

Publikování aplikací může publikovat data do geograficky replikovaných oborů názvů prostřednictvím názvu hostitele oboru názvů s povolenou geografickou replikací. Přístup k publikování je stejný jako případ jiné než geografická replikace a nevyžaduje se žádné změny sad SDK roviny dat ani klientských aplikací. Publikování nemusí být dostupné za následujících okolností:

  • Po vyžádání povýšení sekundární oblasti stávající primární oblast odmítne všechny nové zprávy publikované ve službě Service Bus, dokud se povýšení nedokončí.
  • Pokud prodleva replikace mezi primárními a sekundárními oblastmi dosáhne maximální doby trvání prodlevy replikace, může dojít k omezení úlohy příchozího přenosu dat vydavatele.

Aplikace publisheru nemají přímý přístup k žádným oborům názvů v sekundárních oblastech.

Využívání dat

Využívání aplikací může využívat data pomocí názvu hostitele oboru názvů oboru názvů s povolenou funkcí geografické replikace. Operace příjemců se od okamžiku, kdy se povýšení zahájí, dokud se povýšení nedokončí, nepodporuje.

Důležité informace

Mějte na paměti následující aspekty, které je potřeba vzít v úvahu v této verzi:

  • Při plánování povýšení byste také měli zvážit časový faktor. Pokud například ztratíte připojení delší než 15 až 20 minut, můžete se rozhodnout zahájit povýšení.
  • Podpora komplexní distribuované infrastruktury by se měla na zkoušku provést alespoň jednou.

Ceny

Úroveň Premium pro Service Bus je cenová za jednotku zasílání zpráv. Díky funkci geografické replikace se sekundární oblasti spouštějí na stejném počtu jednotek MU jako primární oblast a ceny se počítají nad celkovým počtem jednotek MU. Kromě toho se účtuje poplatek na základě publikované šířky pásma, kolikrát je počet sekundárních oblastí. Během dřívější verze Public Preview se tento poplatek vzdává.

Další kroky

Další informace o zasílání zpráv služby Service Bus najdete v následujících článcích: