O que é o chat Web PubSub?

O chat Web PubSub é uma capacidade gerenciada de chat construída no Azure Web PubSub que você pode usar para adicionar chat em tempo real às suas aplicações com configuração mínima e código do lado do servidor.

Ele fornece APIs de cliente e servidor desenvolvidas especificamente para cenários de chat. Em vez de projetar eventos personalizados e cargas úteis de mensagens, você trabalha com conceitos nativos de chat, como salas, mensagens e membros.

O chat do Web PubSub se baseia na infraestrutura principal de mensagens em tempo real do Web PubSub, para que você possa se concentrar em criar experiências de chat em vez de implementar protocolos, gerenciar a persistência de mensagens e a lógica de distribuição por conta própria.

Suporte ao chat Web PubSub:

  • Conversa um para um e em grupo
  • Entrega e pedido gerenciado de mensagens
  • Histórico de mensagens em salas de bate-papo
  • Mensagens em tempo real altamente escaláveis suportadas pelo serviço Azure Web PubSub

Embora o chat do Web PubSub seja uma oferta distinta, ele herda as capacidades fundamentais do Web PubSub, incluindo:

  • Dimensionamento automático
  • Geo-replication
  • Segurança e conformidade de nível empresarial

Por que o chat do Web PubSub?

O chat tornou-se um modelo central de interação para aplicações modernas. Por exemplo, os bancos oferecem chat dentro do aplicativo para seus clientes para oferecer suporte rápido durante todo o ciclo de vida do cliente com eles.

No entanto, construir um sistema de chat pronto para produção normalmente exige juntar múltiplas preocupações:

  • Transporte em tempo real
  • Fan-out e ordenação de mensagens
  • Gerenciamento do ciclo de vida da conexão
  • Persistência da mensagem
  • SDKs de clientes em diferentes plataformas

Gerenciar esses componentes diretamente aumenta a complexidade e retarda o tempo para obtenção de valor.

O que o chat te dá em vez disso

O chat do Web PubSub fornece uma abstração específica para chat sobre o Web PubSub que lida com essas preocupações para você.

Capacidade Hub padrão Hub de chat
Mensagens em tempo real ✔️ ✔️
Rooms Personalizado Interna
Persistência da mensagem Personalizado Interna
Gestão dos membros Personalizado Interna
APIs específicas de chat ✔️
Ergonomia do SDK do cliente Baixo nível Focado em chat

No chat hub, você trabalha com salas, mensagens e membros, em vez de eventos e conexões.

Escolha o nível certo de abstração

Use o hub padrão se precisar:

  • Controle total sobre o projeto do protocolo
  • Cargas de trabalho em tempo real sem chat (telemetria, sinalização, dashboards ao vivo)
  • Modelos de eventos altamente personalizados

Use o chat hub se quiser:

  • Construa experiências de chat rapidamente
  • Reduza a orquestração de serviços e o código repetitivo
  • Foque na experiência do usuário em vez da infraestrutura
  • Escalar cargas de trabalho de chat usando serviços nativos do Azure

Ambas as opções são construídas sobre o mesmo serviço Web PubSub, então você pode escolher o nível de abstração que melhor se encaixa na sua aplicação.

Como funciona

Um diagrama explica como o chat Web PubSub funciona em um nível conceitual.

Em vez de publicar eventos brutos ou gerenciar conexões diretamente, sua aplicação interage com primitivas nativas do chat:

  • Rooms
  • Messages
  • Members
  • Usuários

O SDK de chat e o handle do serviço:

  • Entrega de mensagens em tempo real
  • Fan-out para usuários conectados (inclusive quando um usuário está conectado de vários dispositivos ou abas do navegador)
  • Pertencimento à sala
  • Persistência e recuperação de mensagens

Conceitos principais

Rooms

Uma sala representa um espaço de bate-papo. Pode incluir um ou mais membros e mantém seu próprio histórico de mensagens.

Para criar salas e gerenciar membros, veja Criar e gerenciar salas.

Messages

Envie mensagens para uma sala e entregue em tempo real aos membros conectados. O chat Web PubSub gerencia a ordem e persistência das mensagens para que seu aplicativo não precise fazer isso. Os membros podem carregar mensagens passadas como histórico, mesmo depois que se reconectarem ou entrarem na sala posteriormente.

Para enviar mensagens e ler o histórico, veja Enviar e ler mensagens.

Usuários

Um usuário representa uma identidade de aplicação que pode enviar e receber mensagens.

Members

Um membro representa um usuário adicionado a uma sala. A associação controla quais usuários podem receber e enviar mensagens dentro daquela sala.

Reliability

O chat Web PubSub roda na conexão confiável WebSocket do Web PubSub. Se a conexão cair, o cliente se reconecta e recupera automaticamente, sem perder as mensagens.

Funções e permissões

O chat Web PubSub permite que você controle quem pode fazer o quê por meio de funções e permissões. Uma permissão é uma ação única, e um papel é um conjunto nomeado de permissões.

Para as listas completas de permissões, os papéis integrados e como atribuí-los ou personalizá-los, veja Configurar papéis e permissões.

Próximas Etapas