Georeplikálás az Azure Web PubSubban

A kritikus fontosságú alkalmazásoknak gyakran robusztus feladatátvételi rendszerrel kell rendelkezniük, és közelebb kell szolgálniuk a felhasználókat a tartózkodási helyére. A georeplikációs funkció megjelenése előtt a fejlesztőknek több Web PubSub-erőforrást kellett üzembe helyezni, és egyéni kódot kellett írniuk az erőforrások közötti kommunikáció vezényléséhez. Most, hogy gyorsan konfigurálja az Azure Portalt, egyszerűen engedélyezheti ezt a funkciót.

A georeplikációs szolgáltatás használatának előnyei

  • Rugalmasabb a regionális kimaradásokkal szemben: Ha regionális kimaradás történik, a rendszer automatikusan egy kifogástalan replikára irányítja az ügyfeleket.
  • Régiók közötti kommunikáció: A fejlesztők a szokásos módon georeplikációval kompatibilis erőforrást használnak, annak ellenére, hogy a háttérben több erőforrás is létezik. A replikák közötti kommunikációt a szolgáltatás kezeli.
  • Megnövelt hálózati sebesség: A földrajzilag elosztott ügyfelek a legközelebbi replikához csatlakoznak. Ezek a replikák az Azure globális hálózati gerinchálózatán keresztül kommunikálnak, így biztosítva a gyors és stabil hálózatkezelést.
  • Könnyű kezelés. Minden replika megosztja az elsődleges Web PubSub-erőforrás konfigurációját.

Előfeltételek

Példa használati esetre

Contoso, egy közösségimédia-vállalat

A Contoso egy közösségimédia-vállalat, amelynek ügyfélbázisa az Egyesült Államokban és Kanadában is elterjedt. A Contoso mobil- és webalkalmazást biztosít a felhasználóknak, hogy kapcsolatba tudjanak lépni egymással. A Contoso-alkalmazás az USA középső régiójában van üzembe helyezve. A Contoso architektúrájának részeként a Web PubSub állandó WebSocket-kapcsolatokat hoz létre az ügyfélalkalmazások és az alkalmazáskiszolgáló között. A Contoso szereti , ha ki tudják kapcsolni a Web PubSub websocket-kapcsolatainak kezelését, de nem szereti a nagyobb késést tapasztaló kanadai felhasználók jelentéseinek olvasását. Ezenkívül a Contoso fejlesztői csapata biztosítani szeretné az alkalmazást a regionális kimaradás ellen, hogy a felhasználók megszakítás nélkül elérhessék az alkalmazást.

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

A Contoso beállíthat egy másik Web PubSub-erőforrást a Canada Centralban, amely földrajzilag közelebb van a kanadai felhasználókhoz. Több Web PubSub-erőforrás kezelése azonban kihívást jelent:

  1. Régiók közötti kommunikációs mechanizmust kellene implementálnunk, hogy a kanadában és az USA-ban lévő felhasználók kommunikáljanak egymással.
  2. A fejlesztői csapatnak két különálló Web PubSub-erőforrást kell kezelnie, amelyek mindegyike különálló tartománnyal és kapcsolati sztring.
  3. Regionális leállás esetén a forgalmat egy elérhető erőforráshoz kell irányítani.

A fentiek mindegyike távolról veszi a mérnöki erőforrásokat a termékinnovációra való összpontosítástól.

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

A georeplikációs funkció kihasználása

A georeplikációs funkcióval a Contoso létrehozhat egy replikát a Canada Centralban, hatékonyan leküzdve a fent említett kihívásokat. A fejlesztői csapat örömmel állapítja meg, hogy nincs szükség kódmódosításra. Egyszerűen kattinthat néhány gombra az Azure Portalon. A fejlesztői csapat örömmel osztja meg az érdekelt felekkel, hogy mivel a Contoso azt tervezi, hogy belép az európai piacra, egyszerűen hozzá kell adnia egy másik replikát Európában.

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

Georeplikációs szolgáltatás engedélyezése web PubSub-erőforrásban

Ha replikát szeretne létrehozni egy Azure-régióban, nyissa meg a Web PubSub-erőforrást, és keresse meg a Replikák panelt az Azure Portalon, és kattintson a Hozzáadás gombra a replika létrehozásához.

Screenshot of creating replica for Azure Web PubSub on Portal.

A létrehozás után a replika nevére kattintva megtekintheti/szerkesztheti a replikát a portálon.

Screenshot of overview blade of Azure Web PubSub replica resource.

Díjszabás és erőforrásegység

Minden replika saját unit és autoscale settings.

A replika az Azure Web PubSub Service prémium szintű szolgáltatása . Minden replika számlázása külön történik a saját egység és a kimenő forgalom alapján. Az ingyenes üzenetkvótát is külön számítjuk ki.

Az előző példában a Contoso hozzáadott egy replikát a Canada Centralban. A Contoso a Canada Centralban fizetne a replikáért az egység és az üzenet alapján Prémium áron.

A régiók közötti kimenő forgalom kimenő forgalmának kimenő forgalmi díjai lesznek. Ha egy üzenet át lesz osztva a replikák között, és az átvitel után sikeresen el lesz küldve egy ügyfélnek vagy kiszolgálónak, kimenő üzenetként lesz számlázva.

Replika törlése

Miután létrehozott egy replikát egy Web PubSub-erőforráshoz, bármikor törölheti, ha már nincs rá szükség.

Replika törlése az Azure Portalon:

  1. Lépjen a Web PubSub-erőforrásra, és válassza a Replikák panelt. Kattintson a törölni kívánt replikára.
  2. Kattintson a Törlés gombra a replika áttekintési paneljén.

Replika törlése az Azure CLI használatával:

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

A georeplikációs funkció működésének ismertetése

Diagram of the arch of Azure Web PubSub replica.

  1. Az ügyfél feloldja a Web PubSub szolgáltatás teljes tartománynevét (FQDN contoso.webpubsub.azure.com ). Ez az FQDN egy Traffic Managerre mutat, amely a legközelebbi regionális Web PubSub-példány canonical Name (CNAME) nevét adja vissza.
  2. Ezzel a CNAME-val az ügyfél létrehoz egy websocket-kapcsolatot a regionális példányhoz (replikához).
  3. A két replika szinkronizálja az adatokat egymással. Az egyik replikának küldött üzenetek szükség esetén átkerülnek más replikákba.
  4. Ha egy replika nem felel meg a Traffic Manager (TM) által végzett állapotellenőrzésnek, a TM kizárja a hibás példány végpontját a tartományfeloldási eredményekből. Részletekért tekintse meg az alábbi rugalmassági és vészhelyreállítási lehetőségeket

Feljegyzés

  • Az adatsíkban egy elsődleges Azure Web PubSub-erőforrás ugyanúgy működik, mint a replikái.

Rugalmasság és vészhelyreállítás

Az Azure Web PubSub Service egy forgalomkezelőt használ az állapot-ellenőrzésekhez és a DNS-feloldáshoz a replikák felé. Normál körülmények között, ha minden replika megfelelően működik, az ügyfelek a legközelebbi replikához lesznek irányítva. Ilyenek például a következők:

  • A közel eastus lévő ügyfelek a következő helyen eastustalálható replikára lesznek irányítva: .
  • Hasonlóképpen, a közel westus lévő ügyfelek a replikához lesznek irányítva a következőben westus: .

Az Eastus régióban (alább látható) regionális kimaradás esetén a forgalomkezelő észleli az adott régió állapot-ellenőrzési hibáját. Ezután a hibás replika DNS-je ki lesz zárva a traffic manager DNS-feloldási eredményeiből. A DNS élettartamának (TTL) 90 másodpercre beállított időtartama után a rendszer átirányítja az ügyfeleket eastus a replikához a következő helyen westus: .

Diagram of Azure Web PubSub replica failover.

Ha a probléma eastus megoldódott, és a régió ismét online állapotba kerül, az állapot-ellenőrzés sikeres lesz. eastus Az ügyfelek ezután ismét a régiójuk replikájához lesznek irányítva. Ez az áttűnés zökkenőmentes, mivel a csatlakoztatott ügyfelek nem lesznek hatással a meglévő kapcsolatok bezárására.

Diagram of Azure Web PubSub replica failover recovery.

Ez a feladatátvételi és helyreállítási folyamat automatikus, és nem igényel manuális beavatkozást.

A replikavégpont letiltása vagy engedélyezése

Replika beállításakor engedélyezheti vagy letilthatja annak végpontját. Ha le van tiltva, az elsődleges teljes tartománynév DNS-feloldása nem tartalmazza a replikát, ezért a forgalom nem lesz átirányítva hozzá.

Diagram of Azure Web PubSub replica endpoint setting.

A végpont létrehozását követően is engedélyezheti a végpont letiltását. Az elsődleges erőforrás replikák paneljén kattintson a replika jobb oldalán található három pontra, és válassza a Végpont engedélyezése vagy a Végpont letiltása lehetőséget:

Diagram of Azure Web PubSub replica endpoint modification.

A replikáció törlése előtt fontolja meg a végpont letiltását. Idővel a meglévő kapcsolatok megszakadnak. Mivel nem jönnek új kapcsolatok, a replikáció végül tétlenné válik. Ez biztosítja a zökkenőmentes törlési folyamatot.

Ez a funkció regionális problémák elhárításához is hasznos.

Feljegyzés

  • A DNS-gyorsítótár miatt eltarthat néhány percig, amíg a DNS-frissítés érvénybe lép.
  • A meglévő kapcsolatok mindaddig nem változnak, amíg le nem választják őket.

A georeplikációs funkció engedélyezése után a teljesítményre gyakorolt hatás

A replikák engedélyezése után az ügyfelek természetesen a földrajzi helyük alapján fognak elosztani. Bár a Web PubSub felelősséget vállal az adatok szinkronizálásáért ezeken a replikákon, örömmel fogja tudni, hogy a kiszolgálóbetöltéssel járó többletterhelés a leggyakoribb használati esetekben minimális.

Pontosabban, ha az alkalmazás általában nagyobb csoportoknak (10-es méret >) vagy egyetlen kapcsolatnak közvetít, a szinkronizálás teljesítményhatása alig észrevehető. Ha kis csoportokat (10-es méret < ) küld, előfordulhat, hogy egy kicsit nagyobb szinkronizálási többletterhelést tapasztal.

A hatékony feladatátvételi felügyelet érdekében ajánlott az egyes replikák egységméretét beállítani az összes forgalom kezeléséhez. Másik lehetőségként engedélyezheti az automatikus skálázást a kezeléshez.

További teljesítményértékelésért tekintse meg a Teljesítmény című témakört.