Geografická replikace ve službě Azure Web PubSub

Důležité aplikace často potřebují robustní systém převzetí služeb při selhání a obsluhovat uživatele blíže k jejich umístění. Před vydáním funkce geografické replikace potřebovali vývojáři nasadit více prostředků Web PubSub a napsat vlastní kód pro orchestraci komunikace mezi prostředky. Díky rychlé konfiguraci prostřednictvím webu Azure Portal teď můžete tuto funkci snadno povolit.

Výhody použití geografické replikace

  • Odolnější vůči regionálnímu výpadku: Pokud dojde k regionálnímu výpadku, klienti se automaticky přesměrují na repliku, která je v pořádku.
  • Komunikace mezi oblastmi: Vývojáři používají prostředek s povolenou geografickou replikací jako obvykle, i když na pozadí existuje více prostředků. Služba zpracovává komunikaci mezi replikami.
  • Zvýšená rychlost sítě: Geograficky rozptýlení klienti se budou připojovat k nejbližší replice. Tyto repliky komunikují prostřednictvím páteřní sítě Azure a zajišťují rychlou a stabilní síť.
  • Snadná správa. Všechny repliky sdílejí konfiguraci primárního prostředku Web PubSub.

Požadavky

  • Prostředek Web PubSub na úrovni Premium

Příklad případu použití

Contoso, společnost sociálních médií

Contoso je společnost sociálních médií se svou zákaznickou základnou rozloženou do USA a Kanady. Společnost Contoso poskytuje svým uživatelům mobilní a webovou aplikaci, aby se mohli vzájemně propojit. Aplikace Contoso je nasazená v oblasti USA – střed. V rámci architektury společnosti Contoso se web PubSub používá k vytvoření trvalých připojení WebSocket mezi klientskými aplikacemi a aplikačním serverem. Contoso se jim líbí , že může přesměrovat správu připojení WebSocket k web pubSub, ale nelíbí se čtení sestav uživatelů v Kanadě s vyšší latencí. Vývojový tým společnosti Contoso chce navíc zajistit, aby aplikace nebyla v oblasti výpadku, aby uživatelé mohli k aplikaci přistupovat bez přerušení.

Diagram of using one Azure WebPubSub instance to handle traffic from two countries.

Společnost Contoso může v Kanadě nastavit další prostředek Web PubSub, který je geograficky blíže svým uživatelům v Kanadě. Správa více prostředků Web PubSub ale přináší několik výzev:

  1. Je potřeba implementovat komunikační mechanismus mezi oblastmi, aby uživatelé v Kanadě a USA mohli vzájemně komunikovat.
  2. Vývojový tým by potřeboval spravovat dva samostatné prostředky Web PubSub, z nichž každý má odlišnou doménu a připojovací řetězec.
  3. Pokud dojde k výpadku oblasti, musí být provoz směrován na dostupný prostředek.

Všechny výše uvedené prostředky odnesou technické prostředky, aby se zaměřily na inovace produktů.

Diagram of using two Azure Web PubSub instances to handle traffic from two countries.

Využití funkce geografické replikace

Díky funkci geografické replikace teď společnost Contoso může vytvořit repliku v Kanadě – střed a efektivně překonat výše uvedené výzvy. Vývojářský tým rád zjistí, že nemusí provádět žádné změny kódu. Stačí kliknout na několik tlačítek na webu Azure Portal. Vývojářský tým je také rád, že sdílí se zúčastněnými stranami, které společnost Contoso plánuje vstoupit na evropský trh, stačí přidat další repliku v Evropě.

Diagram of using one Azure Web PubSub instance with replica to handle traffic from two countries.

Povolení geografické replikace v prostředku Web PubSub

Pokud chcete vytvořit repliku v oblasti Azure, přejděte do prostředku Web PubSub a na webu Azure Portal vyhledejte okno Repliky a kliknutím na Přidat vytvořte repliku.

Screenshot of creating replica for Azure Web PubSub on Portal.

Po vytvoření byste mohli repliku zobrazit nebo upravit na portálu kliknutím na název repliky.

Screenshot of overview blade of Azure Web PubSub replica resource.

Ceny a jednotka prostředků

Každá replika má vlastní unit a autoscale settings.

Replika je funkce úrovně Premium služby Azure Web PubSub. Každá replika se účtuje samostatně podle vlastní jednotky a odchozího provozu. Kvóta bezplatných zpráv se také počítá samostatně.

V předchozím příkladu společnost Contoso přidala jednu repliku v Kanadě – střed. Společnost Contoso bude platit za repliku v Kanadě Central podle své jednotky a zprávy v ceně Premium.

U odchozích přenosů mezi oblastmi se budou účtovat poplatky za odchozí přenosy dat. Pokud je zpráva přenesena mezi replikami a úspěšně odeslána klientovi nebo serveru po přenosu, bude se fakturovat jako odchozí zpráva.

Odstranění repliky

Jakmile vytvoříte repliku pro prostředek Web PubSub, můžete ji kdykoli odstranit, pokud už ji nepotřebujete.

Odstranění repliky na webu Azure Portal:

  1. Přejděte k prostředku Web PubSub a vyberte okno Repliky . Klikněte na repliku, kterou chcete odstranit.
  2. V okně přehledu repliky klikněte na tlačítko Odstranit.

Odstranění repliky pomocí Azure CLI:

 az webpubsub replica delete --replica-name MyReplica --name MyWebPubSub -g MyResourceGroup

Vysvětlení fungování funkce geografické replikace

Diagram of the arch of Azure Web PubSub replica.

  1. Klient přeloží plně kvalifikovaný název domény (FQDN) contoso.webpubsub.azure.com služby Web PubSub. Tento plně kvalifikovaný název domény odkazuje na Traffic Manager, který vrátí Canonical Name (CNAME) nejbližší místní instance Web PubSub.
  2. Pomocí tohoto CNAME klient vytvoří připojení websocket k místní instanci (replika).
  3. Obě repliky vzájemně synchronizují data. Zprávy odeslané do jedné repliky se v případě potřeby přenesou do jiných replik.
  4. V případě, že replika selže při kontrole stavu provedené traffic managerem (TM), TM vyloučí koncový bod neúspěšné instance z výsledků překladu domény. Podrobnosti najdete v následujících článcích o odolnosti a zotavení po havárii.

Poznámka:

  • V rovině dat funguje primární prostředek Azure Web PubSub stejně jako jeho repliky.

Odolnost a zotavení po havárii

Služba Azure Web PubSub využívá traffic manager ke kontrole stavu a překladu DNS pro své repliky. Za normálních okolností budou klienti přesměrováni na nejbližší repliku, pokud všechny repliky fungují správně. Například:

  • Klienti blízko eastus budou přesměrováni na repliku umístěnou v eastusumístění .
  • Podobně se klienti blízko westus budou směrovat na repliku v .westus

V případě regionálního výpadku v oblasti eastus (viz níže) traffic manager zjistí selhání kontroly stavu pro danou oblast. Poté bude dns této vadné repliky vyloučeno z výsledků překladu DNS traffic manageru. Po době trvání TTL (Time to Live) DNS, která je nastavena na 90 sekund, budou klienti přesměrováni eastus na připojení s replikou v westus.

Diagram of Azure Web PubSub replica failover.

Jakmile se problém eastus vyřeší a oblast je zase online, kontrola stavu proběhne úspěšně. Klienti pak eastus budou znovu přesměrováni na repliku ve své oblasti. Tento přechod je hladký, protože připojení klienti nebudou ovlivněni, dokud nebudou tato stávající připojení uzavřena.

Diagram of Azure Web PubSub replica failover recovery.

Tento proces převzetí služeb při selhání a obnovení je automatický a nevyžaduje žádný ruční zásah.

Zakázání nebo povolení koncového bodu repliky

Při nastavování repliky máte možnost povolit nebo zakázat jeho koncový bod. Pokud je zakázaný, překlad DNS primárního plně kvalifikovaného názvu domény nebude obsahovat repliku, a proto se na ni nebude směrovat provoz.

Diagram of Azure Web PubSub replica endpoint setting.

Koncový bod můžete také povolit po jeho vytvoření. V okně replik primárního prostředku klikněte na tlačítko se třemi tečkami na pravé straně repliky a zvolte Povolit koncový bod nebo Zakázat koncový bod:

Diagram of Azure Web PubSub replica endpoint modification.

Před odstraněním replikace nejprve zvažte zakázání jeho koncového bodu. V průběhu času se stávající připojení odpojí. Vzhledem k tomu, že nepřicházejí žádná nová připojení, replikace se nakonec stane nečinnou. Tím se zajistí bezproblémový proces odstranění.

Tato funkce je užitečná také pro řešení potíží v jednotlivých oblastech.

Poznámka:

  • Kvůli mezipaměti DNS může trvat několik minut, než se aktualizace DNS projeví.
  • Stávající připojení zůstávají nedotčená, dokud se neodpojí.

Dopad na výkon po povolení funkce geografické replikace

Po povolení replik se klienti přirozeně distribuují na základě jejich geografických umístění. Web PubSub přebírá odpovědnost za synchronizaci dat napříč těmito replikami, ale budete rádi, že související režie při načítání serveru je minimální pro nejběžnější případy použití.

Konkrétně pokud vaše aplikace obvykle vysílá větší skupiny (velikost >10) nebo jediné připojení, dopad synchronizace na výkon je sotva patrný. Pokud posíláte zprávy malým skupinám (velikost < 10), můžete si všimnout trochu větší režie synchronizace.

Pokud chcete zajistit efektivní správu převzetí služeb při selhání, doporučujeme nastavit velikost jednotky každé repliky pro zpracování veškerého provozu. Případně můžete povolit automatické škálování pro správu.

Další vyhodnocení výkonu najdete v tématu Výkon.