Choose an Azure Web PubSub capability

Azure Web PubSub biedt meerdere manieren om realtime communicatie aan een applicatie toe te voegen. Je kunt beginnen met flexibele messaging-primitieven, een vastgesteld protocol en programmeermodel behouden, of API's gebruiken die zijn ontworpen voor een specifiek toepassingsscenario.

De juiste keuze stelt je in staat om te voorkomen dat je capabilities bouwt of gebruikt die je applicatie niet onderscheiden. Dit artikel legt uit wat elke optie biedt, wat je nog onder controle hebt en waar elke optie de meeste waarde oplevert.

Kies op basis van wat je wilt bouwen

Als je nodig hebt... Begin met... Waarom
Ontwerp aangepast realtime gedrag voor dashboards, games, meldingen, AI-tokenstreaming, signalering of andere applicatiescenario's Web PubSub (basisdienst) Jij beheert het applicatieprotocol en de bedrijfslogica, terwijl Azure de verbindingen en berichtaflevering beheert.
Schaal een bestaande Socket.IO applicatie op of gebruik de Socket.IO API's en het ecosysteem Socket.IO op Azure Je houdt het Socket.IO programmeermodel aan zonder Socket.IO verbindingsinfrastructuur of adapter te gebruiken.
Verbind MQTT-clients via WebSocket of wissel berichten uit tussen MQTT- en Web PubSub-clients MQTT-ondersteuning Je kunt MQTT-clientbibliotheken gebruiken en Web PubSub laten vertalen tussen ondersteunde MQTT en native concepten.
Voeg één-op-één of groepschat toe met kamers, lidmaatschap, berichtvolgorde en geschiedenis Web PubSub chat Je krijgt chat-specifieke API's en beheerde chatmogelijkheden in plaats van ze te ontwerpen vanuit laag-niveau berichtenprimitieven.

Begrijp hoe de mogelijkheden verschillen

Zie basis Web PubSub als een flexibele realtime basis. Het geeft je bouwstenen zoals verbindingen, gebruikers, groepen en gebeurtenissen. Jij bepaalt wat die bouwstenen betekenen in je aanvraag.

De andere mogelijkheden verwijderen werk voor een meer specifieke behoefte:

  • Socket.IO op Azure behoudt het programmeermodel dat Socket.IO ontwikkelaars al kennen.
  • MQTT-ondersteuning past een ondersteund deel van MQTT aan Web PubSub zodat MQTT-clients kunnen deelnemen aan realtime berichten.
  • Web PubSub chat biedt een hoger niveau applicatiemodel voor kamers, leden, berichten en geschiedenis.

Het zijn geen uitwisselbare namen voor dezelfde API. De beste optie is degene die overeenkomt met de abstracties die je applicatie al gebruikt of anders zou moeten bouwen.

Gebied Web PubSub (basisdienst) Socket.IO op Azure MQTT-ondersteuning Web PubSub chat
Primaire waarde Flexibele realtime bouwstenen Bekende Socket.IO ontwikkeling zonder zelfgehoste schaalverdeling MQTT-clientcompatibiliteit en protocolinteroperabiliteit Een kant-en-klaar chatmodel
Programmeeroppervlak Web PubSub SDK's, WebSocket-subprotocollen, event handlers en REST API's Socket.IO client- en server-API's Ondersteunde MQTT-pakketten en -concepten via WebSocket Chatclient- en server-API's
Belangrijkste toepassingsconcepten Connecties, gebruikers, groepen en evenementen Sockets, kamers, naamruimtes en evenementen Klanten, onderwerpen, abonnementen en berichten Gebruikers, kamers, leden, berichten en geschiedenis
Azure handles Verbindingslevenscyclus, schaalverdeling, routering en bericht-fan-out Verbinding hosting, schaalverbreding en coördinatie tussen app-servers Vertaling tussen ondersteunde MQTT- en Web PubSub-concepten Realtime bezorging, uitwaaieren, kamerlidmaatschap, berichtbestelling en doorzettingsvermogen
Jij ontwerpt Gebeurtenismodel, payloads, autorisatieflow, bedrijfslogica en eventuele persistentie Applicatiegebeurtenissen en bedrijfslogica Onderwerpontwerp, bedrijfslogica en mogelijkheden buiten de ondersteunde MQTT-subset Chatervaring, applicatieidentiteiten, autorisatieopdrachten en bedrijfslogica
Beste pasvorm Aangepaste of gemengde realtime workloads Nieuwe of bestaande Socket.IO toepassingen Webclients die MQTT-bibliotheken gebruiken of gemengde MQTT- en Web PubSub-clients Applicaties waarbij chat een productfunctie is

Web PubSub (basisdienst)

Kies voor basis Web PubSub wanneer flexibiliteit waardevoller is dan een speciaal ontwikkeld applicatiemodel. Het biedt beheerde realtime transport en routering terwijl je je eventmodel en bedrijfsgedrag onder jouw controle blijft.

Bijvoorbeeld, je aanvraag kan:

  • Stuur een update naar alle verbonden clients, een groep, één gebruiker of één verbinding.
  • Ontvang clientgebeurtenissen in een applicatieserver of Azure Functions.
  • Laat geautoriseerde clients berichten direct naar een groep publiceren.
  • Gebruik aangepaste payloads en events voor applicatiespecifieke workflows.

Deze flexibiliteit is nuttig voor live dashboards, multiplayercoördinatie, meldingen, samenwerkingservaringen, apparaatupdates, signalering en AI-tokenstreaming. Je vermijdt het bedienen van WebSocket-servers, maar je ontwerpt nog steeds domeinfuncties zoals berichtpersistentie, geschiedenis of chatlidmaatschap wanneer je applicatie die nodig heeft.

Socket.IO op Azure

Kies Socket.IO op Azure wanneer je team al Socket.IO gebruikt of zijn event-gedreven API's en ecosysteem wil.

In een zelfgehoste Socket.IO-applicatie moet je team stateful clientverbindingen onderhouden en meerdere Socket.IO servers coördineren met behulp van een adapter. Socket.IO on Azure beheert de verbindingsinfrastructuur en servercoördinatie. Dit beheer stelt je applicatieservers in staat zich te richten op event handling en businesslogica.

De belangrijkste waarde is continuïteit: je kunt het Socket.IO programmeermodel behouden en een bestaande applicatie migreren met slechts beperkte codewijzigingen in plaats van deze te herontwerpen rond een andere realtime API.

Voor meer informatie, zie Overzicht Socket.IO over Azure.

MQTT-ondersteuning

Kies voor MQTT-ondersteuning wanneer clients MQTT-bibliotheken gebruiken en via WebSocket verbinden, of wanneer MQTT-clients berichten moeten uitwisselen met native Web PubSub-clients.

Web PubSub herkent ondersteunde MQTT-berichten en koppelt MQTT-concepten, zoals onderwerpen en abonnementen, aan Web PubSub-concepten. Deze mapping bespaart je het bouwen en bedienen van een aparte protocolvertalingslaag.

MQTT-ondersteuning in Web PubSub is een lichte aanpassing, geen volledige MQTT-broker. Het ondersteunt alleen de MQTT-functies die zijn gekoppeld aan Web PubSub. Functies zoals wildcard-abonnementen, retained messages, gedeelde abonnementen en topic-aliassen worden niet ondersteund.

Als je oplossing een uitgebreide MQTT-broker vereist, overweeg dan MQTT-ondersteuning in Azure Event Grid. Voor ondersteunde Web PubSub-scenario's en protocoldetails, zie MQTT in Azure Web PubSub-service.

Web PubSub chat

Kies Web PubSub chat wanneer chat een productfunctie is en je ontwikkeltijd wilt besteden aan de gebruikerservaring in plaats van het onderliggende chatmodel te creëren.

Door gebruik te maken van de basis Web PubSub kun je een eigen chat bouwen, maar je team definieert de boodschappayloads en implementeert zaken zoals kamers, lidmaatschap, de volgorde van berichten en geschiedenis. Web PubSub chat biedt die concepten via speciaal gebouwde API's en SDK's.

Web PubSub chat is een hogere functie die is gebouwd op de realtime infrastructuur van Web PubSub. Het biedt:

  • Eén-op-één en groepschat.
  • Kamers en ledenbeheer.
  • Bestelde realtime berichten.
  • Berichtpersistentie en kamergeschiedenis.
  • Rollen en rechten voor chatoperaties.

Je blijft eigenaar zijn van de identiteitsintegratie, gebruikerservaring en bedrijfsregels van je applicatie, terwijl de dienst de gemeenschappelijke chatinfrastructuur beheert.

Voor meer informatie, zie Wat is Web PubSub chat?

Maak de keuze

Gebruik deze vragen om de beslissing te verfijnen:

  1. Moet je Socket.IO API's behouden of een Socket.IO applicatie migreren? Kies Socket.IO op Azure.
  2. Moeten je clients communiceren via het ondersteunde MQTT-protocol via WebSocket? Kies voor MQTT-ondersteuning.
  3. Heb je ingebouwde ruimtes, leden, het ordenen van berichten en berichtgeschiedenis nodig voor een chatervaring? Kies Web PubSub chat.
  4. Heb je een aangepast eventmodel nodig of een real-time scenario dat niet past bij de voorgaande opties? Kies Web PubSub (basisdienst).

Het kiezen van een meer gespecialiseerde functionaliteit kan de ontwikkeltijd verkorten omdat Azure meer van het applicatiemodel biedt. Het kiezen van de basisdienst geeft je meer controle wanneer je behoeften uniek zijn. Begin met de hoogste capaciteit die aan uw behoeften voldoet en gebruik de basisservice wanneer die flexibiliteit waarde creëert voor uw applicatie.