Základní koncepty Azure Web PubSub

Služba Azure Web PubSub pomáhá vytvářet webové aplikace pro zasílání zpráv v reálném čase. Klienti se ke službě připojují pomocí standardního protokolu WebSocket a služba zveřejňuje rozhraní REST API a sady SDK pro správu těchto klientů.

Termíny

Tady jsou některé důležité termíny používané službou:

  • Připojení ion: Připojení, označované také jako klient nebo připojení klienta, představuje individuální připojení WebSocket připojené ke službě Web PubSub. Po úspěšném připojení je k tomuto připojení přiřazeno jedinečné ID připojení službou Web PubSub.

  • Centrum: Centrum je logický koncept sady klientských připojení. Obvykle používáte jedno centrum pro jeden scénář, například centrum chatu nebo centrum oznámení . Když se připojení klienta připojí, připojí se k centru a během jeho životnosti patří do tohoto centra. Jakmile se připojení klienta k centru připojí, centrum existuje. Různé aplikace můžou sdílet jednu službu Azure Web PubSub pomocí různých názvů center. I když neexistuje žádný striktní limit počtu rozbočovačů, centrum využívá oproti skupině větší zatížení služby. Doporučujeme mít předem určenou sadu rozbočovačů, a negenerovat je dynamicky.

  • Skupina: Skupina je podmnožinou připojení k centru. Ke skupině můžete přidat připojení klienta nebo ho z této skupiny kdykoli odebrat. Když se například klient připojí k chatovací místnosti nebo když klient opustí chatovací místnost, může být tato chatovací místnost považována za skupinu. Klient se může připojit k více skupinám a skupina může obsahovat více klientů. Skupina se podobá skupině "session", relace skupiny se vytvoří, jakmile se někdo připojí ke skupině, a relace zmizí, když nikdo není ve skupině. Zprávy odeslané skupině se doručí všem klientům připojeným ke skupině.

  • Uživatel: Připojení ions do web pubSub může patřit jednomu uživateli. Uživatel může mít více připojení, například když je jeden uživatel připojený na více zařízeních nebo na několika kartách prohlížeče.

  • Zpráva: Když je klient připojen, může odesílat zprávy do upstreamové aplikace nebo přijímat zprávy z upstreamové aplikace prostřednictvím připojení WebSocket. Zprávy můžou být ve formátu prostého textu, binárního formátu nebo formátu JSON a mají maximální velikost 1 MB.

  • Klient Připojení ion a Připojení ionId: Klient se připojí ke koncovému /client bodu, když je připojený, služba vygeneruje jedinečnou connectionId identitu připojení klienta. Uživatelé pak mohou spravovat připojení klienta pomocí tohoto connectionId. Podrobnosti jsou popsány v části Protokol klienta.

  • Události klienta: Události se vytvářejí během životního cyklu připojení klienta. Například jednoduché připojení klienta WebSocket vytvoří connect událost, když se pokusí připojit ke službě, connected událost, když se úspěšně připojila ke službě, message událost, když odesílá zprávy do služby a disconnected událost, když se odpojí od služby. Podrobnosti o událostech klienta jsou znázorněny v části Protokol klienta.

  • Obslužná rutina události: Obslužná rutina události obsahuje logiku pro zpracování událostí klienta. Zaregistrujte a nakonfigurujte obslužné rutiny událostí ve službě prostřednictvím portálu nebo Azure CLI předem. Podrobnosti jsou popsány v části obslužné rutiny události.

  • Naslouchací proces událostí(Preview): Naslouchací proces událostí pouze naslouchá událostem klienta, ale nemůže ovlivňovat dobu života vašich klientů prostřednictvím jejich odpovědi. Podrobnosti jsou popsány v části Naslouchací proces událostí.

  • Server: Server může zpracovávat události klienta, spravovat připojení klientů nebo publikovat zprávy do skupin. Obslužná rutina události i naslouchací proces událostí se považují za serverovou stranu. Podrobnosti o serveru jsou popsány v části Protokol serveru .

Důležité

Hub, GroupUserId jsou důležité role při správě klientů a odesílání zpráv. Budou vyžadovány parametry v různých voláních rozhraní REST API jako prostý text. Proto do těchto polí nevkládejte citlivé informace. Například přihlašovací údaje nebo nosné tokeny, které budou mít vysoké riziko úniku.

Workflow

Typický pracovní postup, který službu používá, je znázorněný níže:

Diagram showing the Web PubSub service workflow.

Jak je znázorněno výše uvedeným grafem pracovního postupu:

  1. Klient se připojí ke koncovému bodu služby /client pomocí přenosu WebSocket. Předávat všechny rámce Protokolu WebSocket na nakonfigurovaný upstream (server). Připojení WebSocket se může připojit k libovolnému vlastnímu podprotokolu pro server, který bude zpracovávat, nebo se může připojit k podprotokolům podporovaným službou (např. json.webpubsub.azure.v1), které klientům umožňují provádět pub/sub přímo. Podrobnosti jsou popsány v klientských protokolech.

  2. Služba vyvolá server pomocí protokolu CloudEvents pro různé události klienta. CloudEvents je standardizovaná a protokolově nezávislá definice struktury a metadat popis událostí hostovaných platformou CNCF (Cloud Native Computing Foundation). Podrobnosti jsou popsány v protokolu serveru.

  3. Server může vyvolat službu pomocí rozhraní REST API k odesílání zpráv klientům nebo ke správě připojených klientů. Podrobnosti jsou popsány v protokolu serveru.