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í.
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:
- Je potřeba implementovat komunikační mechanismus mezi oblastmi, aby uživatelé v Kanadě a USA mohli vzájemně komunikovat.
- 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.
- 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ů.
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ě.
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.
Po vytvoření byste mohli repliku zobrazit nebo upravit na portálu kliknutím na název repliky.
Poznámka:
- Počet replik je aktuálně omezen na maximálně 8 na primární prostředek.
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:
- Přejděte k prostředku Web PubSub a vyberte okno Repliky . Klikněte na repliku, kterou chcete odstranit.
- 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
- 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. - Pomocí tohoto CNAME klient vytvoří připojení websocket k místní instanci (replika).
- Obě repliky vzájemně synchronizují data. Zprávy odeslané do jedné repliky se v případě potřeby přenesou do jiných replik.
- 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 veastus
umí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
.
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.
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.
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:
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.
Neděděné a zděděné konfigurace
Repliky dědí většinu konfigurací z primárního prostředku; Některá nastavení však musí být nakonfigurovaná přímo na replikách. Níže je seznam těchto konfigurací:
- Skladová položka: Každá replika má vlastní název skladové položky a velikost jednotky. Pravidla automatického škálování pro repliky musí být nakonfigurovaná samostatně na základě jejich jednotlivých metrik.
- Sdílené privátní koncové body: Sdílené privátní koncové body se automaticky replikují do replik, u cílových prostředků privátního propojení se vyžadují samostatná schválení. Pokud chcete přidat nebo odebrat sdílené privátní koncové body, spravujte je v primárním prostředku. Nepovolujte repliku, dokud nebude schválen její sdílený privátní koncový bod.
- Nastavení cíle protokolu. Pokud nejsou nakonfigurované na replikách, budou přeneseny pouze protokoly z primárního prostředku.
- Výstrahy.
Všechny ostatní konfigurace se dědí z primárního prostředku. Například přístupové klíče, identita, firewall aplikací, vlastní domény, privátní koncové body a řízení přístupu.