Scegli una funzionalità Azure Web PubSub

Azure Web PubSub offre molteplici modi per aggiungere comunicazione in tempo reale a un'applicazione. Puoi iniziare con primitive di messaggistica flessibili, mantenere un protocollo e un modello di programmazione consolidati, oppure usare API progettate per uno scenario applicativo specifico.

La scelta giusta ti permette di evitare di costruire o gestire capacità che non differenziano la tua applicazione. Questo articolo spiega cosa offre ogni opzione, cosa rimane sotto il tuo controllo e dove ciascuna offre il maggior valore.

Scegli in base a ciò che vuoi costruire

Se hai bisogno di... Inizia con... Perché
Progetta comportamenti personalizzati in tempo reale per dashboard, giochi, notifiche, streaming di token IA, segnalazione o altri scenari applicativi Web PubSub (servizio base) Controlli il protocollo applicativo e la logica aziendale mentre Azure gestisce le connessioni e la consegna dei messaggi.
Scala un'applicazione Socket.IO esistente oppure utilizza le API e l'ecosistema Socket.IO Socket.IO su Azure Mantieni il modello di programmazione Socket.IO senza operare Socket.IO infrastruttura di connessione o un adattatore.
Collega i client MQTT tramite WebSocket o scambia messaggi tra i client MQTT e Web PubSub Supporto MQTT Puoi usare le librerie client MQTT e lasciare che Web PubSub traduca tra MQTT supportati e concetti nativi.
Aggiungi chat uno a uno o di gruppo con stanze, iscrizioni, ordini messaggi e cronologia Chat web PubSub Hai API specifiche per chat e capacità di chat gestite invece di progettarle da primitive di messaggistica di basso livello.

Capire in che modo differiscono le capacità

Pensa al Web PubSub base come a una base flessibile in tempo reale. Ti dà elementi fondamentali come connessioni, utenti, gruppi ed eventi. Decidi tu cosa significano questi mattoni fondamentali nella tua candidatura.

Le altre capacità rimuovono lavoro per esigenze più specifiche:

  • Socket.IO su Azure preserva il modello di programmazione che gli sviluppatori Socket.IO già conoscono.
  • Il supporto MQTT adatta un sottoinsieme supportato di MQTT a Web PubSub così che i client MQTT possano partecipare alla messaggistica in tempo reale.
  • La chat Web PubSub offre un modello applicativo di livello superiore per stanze, membri, messaggi e storia.

Non sono nomi intercambiabili per la stessa API. La migliore opzione è quella che corrisponde alle astrazioni che la tua applicazione già usa o che altrimenti dovrebbe costruire.

Area Web PubSub (servizio base) Socket.IO su Azure Supporto di MQTT Chat web PubSub
Valore primario Blocchi di costruzione flessibili in tempo reale Sviluppo Socket.IO familiare senza scalabilità auto-ospitata Compatibilità dei client MQTT e interoperabilità dei protocolli Un modello di chat pronto all'uso
Superficie di programmazione Web PubSub SDK, sottoprotocolli WebSocket, gestori di eventi e API REST Socket.IO API client e server Pacchetti e concetti MQTT supportati tramite WebSocket API client e server di chat
Concetti principali di applicazione Connessioni, utenti, gruppi ed eventi Socket, stanze, namespace ed eventi Clienti, argomenti, abbonamenti e messaggi Utenti, stanze, membri, messaggi e cronologia
Azure handles Ciclo di vita della connessione, scala, instradamento e diffusione del messaggio Hosting della connessione, scalabilità e coordinamento tra server app Traduzione tra i concetti supportati di MQTT e Web PubSub Consegna in tempo reale, dispersione di sparsi, abbonamento alle stanze, ordinazione dei messaggi e persistenza
Tu disegna Modello di eventi, payload, flusso di autorizzazione, logica di business e qualsiasi persistenza Eventi applicativi e logica di business Progettazione degli argomenti, logica di business e capacità al di fuori del sottoinsieme MQTT supportato Esperienza in chat, identità delle applicazioni, assegnazioni di autorizzazione e logica aziendale
Soluzione ottimale Carichi di lavoro personalizzati o misti in tempo reale Nuove o esistenti applicazioni Socket.IO Web client che utilizzano librerie MQTT o client misti MQTT e Web PubSub Applicazioni in cui la chat è una funzione del prodotto

Web PubSub (servizio base)

Scegli il Web PubSub base quando la flessibilità è più preziosa di un modello applicativo appositamente costruito. Fornisce un trasporto e un routing in tempo reale gestiti, lasciando il tuo modello di eventi e il comportamento aziendale sotto il tuo controllo.

Ad esempio, la tua domanda può:

  • Invia un aggiornamento a tutti i client connessi, a un gruppo, a un utente o a una connessione.
  • Ricevi eventi client in un server applicativo o in Funzioni di Azure.
  • Consentire ai clienti autorizzati di pubblicare messaggi direttamente a un gruppo.
  • Usa payload ed eventi personalizzati per flussi di lavoro specifici per applicazioni.

Questa flessibilità è utile per dashboard in tempo reale, coordinamento multiplayer, notifiche, esperienze collaborative, aggiornamenti dei dispositivi, segnalazioni e streaming di token AI. Eviti di gestire server WebSocket, ma continui comunque a progettare funzionalità di dominio come persistenza dei messaggi, cronologia o appartenenza alla chat quando la tua applicazione ne ha bisogno.

Socket.IO su Azure

Scegli Socket.IO su Azure quando il tuo team già usa Socket.IO o desidera le sue API e l'ecosistema orientati agli eventi.

In un'applicazione Socket.IO self-hosted, il tuo team deve mantenere connessioni client con stato e coordinare più server Socket.IO utilizzando un adattatore. Socket.IO su Azure gestisce l'infrastruttura di connessione e il coordinamento dei server. Questa gestione permette ai server applicativi di concentrarsi sulla gestione degli eventi e sulla logica di business.

Il valore chiave è la continuità: puoi mantenere il modello di programmazione Socket.IO e migrare un'applicazione esistente con solo modifiche limitate al codice invece di ridisegnarla attorno a un'API in tempo reale diversa.

Per saperne di più, consulta la Panoramica Socket.IO su Azure.

Supporto di MQTT

Scegli il supporto MQTT quando i client utilizzano librerie MQTT e si connettono tramite WebSocket, oppure quando i client MQTT devono scambiare messaggi con client nativi Web PubSub.

Web PubSub riconosce i messaggi MQTT supportati e mappa i concetti MQTT, come argomenti e abbonamenti, ai concetti Web PubSub. Questa mappatura ti salva dal costruire e operare un livello di traduzione di protocollo separato.

Il supporto MQTT in Web PubSub è un adattamento leggero, non un broker MQTT completo. Supporta solo le funzionalità MQTT che corrispondono a Web PubSub. Funzionalità come abbonamenti wildcard, messaggi trattenuti, abbonamenti condivisi e alias di argomento non sono supportate.

Se la tua soluzione richiede un broker MQTT completo, considera il supporto MQTT in Griglia di eventi di Azure. Per gli scenari supportati di Web PubSub e i dettagli sui protocolli, vedi MQTT nel servizio Azure Web PubSub.

Chat web PubSub

Scegli la chat Web PubSub quando la chat è una funzione di prodotto e vuoi dedicare tempo allo sviluppo all'esperienza utente invece di creare il modello di chat sottostante.

Utilizzando il Web PubSub base, puoi creare chat personalizzate, ma il tuo team definisce i payload dei messaggi e implementa preoccupazioni come stanze, abbonamento, ordine dei messaggi e cronologia. Web PubSub Chat fornisce questi concetti tramite API e SDK appositamente progettati.

La chat di Web PubSub è una capacità di livello superiore costruita sull'infrastruttura in tempo reale di Web PubSub. Offre:

  • Uno a uno e chat di gruppo.
  • Stanze e gestione dei membri.
  • Ho ordinato messaggi in tempo reale.
  • Persistenza del messaggio e cronologia della stanza.
  • Ruoli e permessi per le operazioni di chat.

Continui a gestire l'integrazione dell'identità, l'esperienza utente e le regole di business della tua applicazione, mentre il servizio gestisce l'infrastruttura comune delle chat.

Per saperne di più, vedi Cos'è la chat di Web PubSub?

Fai la scelta

Usa queste domande per restringere la decisione:

  1. Devi preservare le Socket.IO API o migrare un'applicazione Socket.IO? Scegli Socket.IO su Azure.
  2. I vostri client devono comunicare utilizzando il protocollo MQTT supportato tramite WebSocket? Scegli il supporto MQTT.
  3. Hai bisogno di stanze integrate, membri, ordine dei messaggi e cronologia dei messaggi per un'esperienza di chat? Scegli la chat di Web PubSub.
  4. Hai bisogno di un modello di eventi personalizzato o di uno scenario in tempo reale che non corrisponda alle opzioni precedenti? Scegli Web PubSub (servizio base).

Scegliere una capacità più specializzata può ridurre i tempi di sviluppo perché Azure fornisce più elementi del modello applicativo. Scegliere il servizio base ti dà più controllo quando le tue esigenze sono uniche. Inizia con la capacità di livello più alto che soddisfa le tue esigenze e usa il servizio base quando questa flessibilità crea valore per la tua applicazione.