Az Azure Web PubSub alapfogalmai

Az Azure Web PubSub szolgáltatással valós idejű üzenetkezelési webalkalmazásokat hozhat létre. Az ügyfelek a standard WebSocket protokollal csatlakoznak a szolgáltatáshoz, és a szolgáltatás REST API-kat és SDK-kat tesz elérhetővé az ügyfelek kezeléséhez.

Feltételek

Íme néhány fontos kifejezés, amelyet a szolgáltatás használ:

  • Csatlakozás ion: A kapcsolat, más néven ügyfél- vagy ügyfélkapcsolat a Web PubSub szolgáltatáshoz csatlakoztatott egyéni WebSocket-kapcsolatot jelöli. Sikeres csatlakozás esetén a Web PubSub szolgáltatás egyedi kapcsolatazonosítót rendel ehhez a kapcsolathoz.

  • Központ: A központ egy logikai fogalom az ügyfélkapcsolatok halmazához. Általában egy hubot használ egy forgatókönyvhöz, például egy csevegőközponthoz vagy egy értesítési központhoz. Amikor egy ügyfélkapcsolat csatlakozik, egy központhoz csatlakozik, és annak élettartama alatt az adott központhoz tartozik. Ha egy ügyfélkapcsolat csatlakozik a központhoz, a központ létezik. A különböző alkalmazások különböző központnevek használatával oszthatnak meg egy Azure Web PubSub szolgáltatást. Bár a hubok száma nincs szigorúan korlátozva, a hubok több szolgáltatásterhelést használnak fel, mint egy csoport. Javasoljuk, hogy a dinamikus generálás helyett egy előre meghatározott központkészlettel rendelkezzen.

  • Csoport: A csoport a központhoz való kapcsolatok részhalmaza. Hozzáadhat egy ügyfélkapcsolatot egy csoporthoz, vagy bármikor eltávolíthatja az ügyfélkapcsolatot a csoportból. Ha például egy ügyfél csatlakozik egy csevegőszobához, vagy amikor egy ügyfél elhagyja a csevegőszobát, ez a csevegőszoba csoportnak tekinthető. Egy ügyfél több csoporthoz is csatlakozhat, egy csoport pedig több ügyfelet is tartalmazhat. A csoport olyan, mint egy csoport "munkamenete", a csoportmunkamenet akkor jön létre, ha valaki csatlakozik a csoporthoz, és a munkamenet akkor szűnik meg, amikor senki sem szerepel a csoportban. A csoportnak küldött üzeneteket a rendszer a csoporthoz csatlakoztatott összes ügyfélnek kézbesíti.

  • Felhasználó: a Web PubSub Csatlakozás egy felhasználóhoz tartozhatnak. Egy felhasználó több kapcsolattal is rendelkezhet, például ha egy felhasználó több eszközön vagy több böngészőlapon csatlakozik.

  • Üzenet: Amikor az ügyfél csatlakoztatva van, üzeneteket küldhet a felsőbb rétegbeli alkalmazásnak, vagy üzeneteket fogadhat a felsőbb rétegbeli alkalmazásból a WebSocket-kapcsolaton keresztül. Az üzenetek lehetnek egyszerű szöveges, bináris vagy JSON formátumúak, és legfeljebb 1 MB méretűek lehetnek.

  • Ügyfél Csatlakozás ion és Csatlakozás ionId: Az ügyfél a /client végponthoz csatlakozik, amikor csatlakozik, a szolgáltatás egyedi connectionId identitást hoz létre az ügyfélkapcsolat egyedi identitásaként. A felhasználók ezt követően kezelhetik az ügyfélkapcsolatot.connectionId A részleteket az Ügyfélprotokoll szakasz ismerteti.

  • Ügyfélesemények: Az események az ügyfélkapcsolat életciklusa során jönnek létre. Egy egyszerű WebSocket-ügyfélkapcsolat például egy connect eseményt hoz létre, amikor megpróbál csatlakozni a szolgáltatáshoz, egy connected eseményt, amikor sikeresen csatlakozik a szolgáltatáshoz, egy message eseményt, amikor üzeneteket küld a szolgáltatásnak, és egy disconnected eseményt, amikor lecsatlakozik a szolgáltatásról. Az ügyfélesemények részleteit az Ügyfélprotokoll szakasz szemlélteti.

  • Eseménykezelő: Az eseménykezelő tartalmazza az ügyfélesemények kezelésére használható logikát. Regisztrálja és konfigurálja az eseménykezelőket a szolgáltatásban a portálon vagy az Azure CLI-ben. A részleteket az Eseménykezelő szakaszban ismertetjük .

  • Eseményfigyelő (előzetes verzió): Az eseményfigyelő csak az ügyféleseményeket figyeli, de a válaszukkal nem zavarhatja az ügyfelek élettartamát. A részleteket az Eseményfigyelő szakaszban ismertetjük.

  • Kiszolgáló: A kiszolgáló képes kezelni az ügyféleseményeket, kezelni az ügyfélkapcsolatokat, vagy üzeneteket közzétenni a csoportokban. Az eseménykezelő és az eseményfigyelő egyaránt kiszolgálóoldalinak minősül. A kiszolgálóval kapcsolatos részleteket a Kiszolgáló protokoll szakasz ismerteti.

Fontos

Hub, GroupUserId az ügyfelek kezelése és az üzenetek küldése során fontos szerepkörök. A különböző REST API-hívásokhoz egyszerű szövegként kell megadniuk a paramétereket. Ezért NE helyezzen bizalmas információkat ezekben a mezőkben. Például olyan hitelesítő adatok vagy tulajdonosi jogkivonatok, amelyek magas szivárgási kockázattal járnak.

Munkafolyamat

A szolgáltatást használó tipikus munkafolyamat az alábbiak szerint jelenik meg:

Diagram showing the Web PubSub service workflow.

Ahogy a fenti munkafolyamat-grafikon szemlélteti:

  1. Az ügyfél a WebSocket-átvitel használatával csatlakozik a szolgáltatásvégponthoz /client . A szolgáltatás minden WebSocket-keretet továbbít a konfigurált upstream(kiszolgáló) felé. A WebSocket-kapcsolat bármely olyan egyéni alprotocolhoz kapcsolódhat, amelyet a kiszolgáló kezelhet, vagy csatlakozhat a szolgáltatás által támogatott alprotocolokkal (például json.webpubsub.azure.v1), amelyek lehetővé teszik az ügyfelek számára a pub/sub közvetlen használatát. A részleteket az ügyfélprotokollok ismertetik.

  2. A szolgáltatás a kiszolgálót a CloudEvents protokoll használatával hívja meg különböző ügyféleseményeken. A CloudEvents a Cloud Native Computing Foundation (CNCF) által üzemeltetett események struktúrájának és metaadatainak szabványosított és protokollalapú definíciója. A részleteket a kiszolgálóprotokoll ismerteti.

  3. A kiszolgáló a REST API használatával meghívhatja a szolgáltatást, hogy üzeneteket küldjön az ügyfeleknek vagy kezelje a csatlakoztatott ügyfeleket. A részleteket a kiszolgálóprotokoll ismerteti