Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Web PubSub oferece múltiplas formas de adicionar comunicação em tempo real a uma aplicação. Pode começar com primitivas de mensagens flexíveis, manter um protocolo e modelo de programação estabelecidos, ou usar APIs desenhadas para um cenário de aplicação específico.
A escolha certa permite-lhe evitar construir ou operar capacidades que não diferenciem a sua aplicação. Este artigo explica o que cada opção oferece, o que permanece sob o seu controlo e onde cada opção oferece mais valor.
Escolhe com base no que queres construir
| Se precisar... | Começa com... | Porquê |
|---|---|---|
| Desenhe comportamentos personalizados em tempo real para painéis, jogos, notificações, streaming de tokens de IA, sinalização ou outros cenários de aplicação | Web PubSub (serviço base) | Controlas o protocolo da aplicação e a lógica de negócio enquanto o Azure gere as ligações e a entrega de mensagens. |
| Escale uma aplicação Socket.IO existente ou use as APIs e o ecossistema Socket.IO | Socket.IO em Azure | Manténs o modelo de programação Socket.IO sem operar Socket.IO infraestrutura de ligação ou um adaptador. |
| Ligue clientes MQTT via WebSocket ou troque mensagens entre clientes MQTT e Web PubSub | Suporte ao MQTT | Pode usar bibliotecas clientes MQTT e deixar o Web PubSub traduzir entre conceitos MQTT suportados e nativos. |
| Adicione chat individual ou de grupo com salas, membros, encomenda de mensagens e histórico | Web PubSub chat | Obtém APIs específicas para chat e capacidades de chat gerido em vez de as desenhar a partir de primitivas de mensagens de baixo nível. |
Compreenda como as capacidades diferem
Pense no Web PubSub base como uma base flexível em tempo real. Dá-lhe blocos de construção como ligações, utilizadores, grupos e eventos. Tu decides o que esses blocos de construção significam na tua candidatura.
As outras capacidades removem trabalho para uma necessidade mais específica:
- Socket.IO on Azure preserva o modelo de programação que Socket.IO programadores já conhecem.
- O suporte ao MQTT adapta um subconjunto suportado do MQTT para o Web PubSub para que os clientes MQTT possam participar em mensagens em tempo real.
- O chat Web PubSub fornece um modelo de aplicação de nível superior para salas, membros, mensagens e histórico.
Não são nomes intercambiáveis para a mesma API. A melhor opção é aquela que corresponde às abstrações que a sua aplicação já usa ou teria de construir.
| Área | Web PubSub (serviço base) | Socket.IO em Azure | Suporte para MQTT | Web PubSub chat |
|---|---|---|---|---|
| Valor primário | Blocos de construção flexíveis em tempo real | Desenvolvimento Socket.IO familiar sem escalabilidade auto-hospedada | Compatibilidade com clientes MQTT e interoperabilidade de protocolos | Um modelo de chat pronto a usar |
| Superfície de programação | SDKs Web PubSub, subprotocolos WebSocket, gestores de eventos e APIs REST | Socket.IO APIs de cliente e servidor | Pacotes e conceitos MQTT suportados sobre WebSocket | APIs de cliente e servidor de chat |
| Principais conceitos de aplicação | Ligações, utilizadores, grupos e eventos | Sockets, salas, namespaces e eventos | Clientes, temas, subscrições e mensagens | Utilizadores, salas, membros, mensagens e histórico |
| Azure handles | Ciclo de vida da ligação, escalabilidade, roteamento e expansão da mensagem | Alojamento de ligações, escalabilidade e coordenação entre servidores de aplicações | Tradução entre os conceitos suportados de MQTT e Web PubSub | Entrega em tempo real, dispersão, adesão ao quarto, encomenda de mensagens e persistência |
| Tu desenhas | Modelo de eventos, cargas úteis, fluxo de autorização, lógica de negócio e qualquer persistência | Eventos de aplicação e lógica de negócio | Design de tópicos, lógica de negócio e capacidades fora do subconjunto MQTT suportado | Experiência em chat, identidades de aplicações, atribuições de autorização e lógica de negócio |
| Melhor ajuste | Cargas de trabalho personalizadas ou mistas em tempo real | Aplicações Socket.IO novas ou existentes | Clientes web que utilizam bibliotecas MQTT ou clientes mistos MQTT e Web PubSub | Aplicações onde o chat é uma funcionalidade do produto |
Web PubSub (serviço base)
Escolha o Web PubSub base quando a flexibilidade for mais valiosa do que um modelo de aplicação construído de propósito. Proporciona transporte e encaminhamento em tempo real geridos, deixando o seu modelo de eventos e o comportamento empresarial sob o seu controlo.
Por exemplo, a sua candidatura pode:
- Envie uma atualização para todos os clientes ligados, um grupo, um utilizador ou uma ligação.
- Receber eventos do cliente num servidor de aplicações ou no Funções do Azure.
- Permitir que clientes autorizados publiquem mensagens diretamente para um grupo.
- Use cargas úteis e eventos personalizados para fluxos de trabalho específicos da aplicação.
Esta flexibilidade é útil para dashboards em direto, coordenação multijogador, notificações, experiências colaborativas, atualizações de dispositivos, sinalização e streaming de tokens por IA. Evita operar servidores WebSocket, mas continua a desenhar funcionalidades de domínio como persistência de mensagens, histórico ou adesão ao chat quando a sua aplicação precisa delas.
Socket.IO em Azure
Escolha Socket.IO no Azure quando a sua equipa já usa Socket.IO ou quer as suas APIs e ecossistema orientados a eventos.
Numa aplicação de Socket.IO auto-hospedada, a sua equipa deve manter ligações de cliente com estado e coordenar múltiplos servidores de Socket.IO usando um adaptador. Socket.IO on Azure gere a infraestrutura de ligação e a coordenação do servidor. Esta gestão permite que os seus servidores de aplicação se concentrem no tratamento de eventos e na lógica de negócio.
O valor chave é a continuidade: pode manter o modelo de programação Socket.IO e migrar uma aplicação existente com apenas alterações limitadas no código, em vez de a redesenhar em torno de uma API em tempo real diferente.
Para saber mais, consulte a Visão Geral Socket.IO sobre Azure.
Suporte para MQTT
Escolha o suporte MQTT quando os clientes usam bibliotecas MQTT e se conectam via WebSocket, ou quando os clientes MQTT precisam de trocar mensagens com clientes nativos Web PubSub.
O Web PubSub reconhece mensagens MQTT suportadas e mapeia conceitos MQTT, como tópicos e subscrições, para conceitos Web PubSub. Este mapeamento poupa-te de construir e operar uma camada separada de tradução de protocolos.
O suporte a MQTT no Web PubSub é uma adaptação leve, não um corretor MQTT completo. Suporta apenas as funcionalidades MQTT que correspondem ao Web PubSub. Funcionalidades como subscrições curinga, mensagens retidas, subscrições partilhadas e pseudónimos de tópicos não são suportadas.
Se a sua solução requer um corretor MQTT abrangente, considere o suporte MQTT no Azure Event Grid. Para cenários Web PubSub suportados e detalhes do protocolo, consulte MQTT no serviço Azure Web PubSub.
Web PubSub chat
Escolha o chat Web PubSub quando o chat for uma funcionalidade do produto e quiser dedicar tempo de desenvolvimento à experiência do utilizador em vez de criar o modelo de chat subjacente.
Ao usar o Web PubSub base, pode criar chat personalizado, mas a sua equipa define cargas úteis de mensagens e implementa preocupações como salas, membros, encomenda de mensagens e histórico. O chat Web PubSub fornece esses conceitos através de APIs e SDKs construídos de propósito.
O chat Web PubSub é uma capacidade de nível superior construída sobre a infraestrutura em tempo real do Web PubSub. Dispõe o seguinte:
- Conversas individuais e em grupo.
- Salas e gestão de membros.
- Ordenei mensagens em tempo real.
- Persistência da mensagem e histórico da sala.
- Funções e permissões para operações de chat.
Continua a ser responsável pela integração de identidade, experiência de utilizador e regras de negócio da sua aplicação, enquanto o serviço gere a infraestrutura de chat comum.
Para saber mais, veja O que é o chat Web PubSub?
Faz a escolha
Use estas perguntas para restringir a decisão:
- Precisa de preservar Socket.IO APIs ou migrar uma aplicação Socket.IO? Escolha Socket.IO em Azure.
- Os seus clientes precisam de comunicar usando o protocolo MQTT suportado através do WebSocket? Escolha o suporte MQTT.
- Precisa de salas integradas, membros, encomenda de mensagens e histórico de mensagens para uma experiência de chat? Escolha o chat Web PubSub.
- Precisa de um modelo de eventos personalizado ou de um cenário em tempo real que não se encaixe nas opções anteriores? Escolha Web PubSub (serviço base).
Escolher uma capacidade mais especializada pode encurtar o tempo de desenvolvimento porque o Azure fornece mais do modelo de aplicação. Escolher o serviço base dá-lhe mais controlo quando as suas necessidades são únicas. Comece com a capacidade de mais alto nível que satisfaça as suas necessidades e use o serviço base quando essa flexibilidade criar valor para a sua aplicação.