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
- Web PubSub-erőforrás prémium szinten.
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.
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:
- 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.
- 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.
- 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.
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.
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.
A létrehozás után a replika nevére kattintva megtekintheti/szerkesztheti a replikát a portálon.
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:
- 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.
- 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
- 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. - Ezzel a CNAME-val az ügyfél létrehoz egy websocket-kapcsolatot a regionális példányhoz (replikához).
- 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.
- 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ő helyeneastus
talá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őbenwestus
: .
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
: .
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.
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á.
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:
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.