Design de Sistema para Aplicativo de Chat

Diagrama13 nósEngenharia · Arquitetura de ChatFeito com um prompt
Pré-visualização somente leitura

O prompt

Crie um diagrama de design de sistema para um aplicativo de chat

Crie sua própria versão

Sobre o framework

Acompanhe os componentes de um serviço de chat

Este exemplo de arquitetura contém onze componentes e doze conexões. Um cliente mobile ou web chega a um balanceador de carga, que se conecta a dois servidores WebSocket e a um servidor de API REST. Os dois servidores WebSocket se conectam ao Redis Pub/Sub, enquanto o servidor REST se conecta ao Kafka.

As setas restantes conectam o Redis ao PostgreSQL e o Kafka ao PostgreSQL, ao S3, ao Elasticsearch e às notificações push. Essas são conexões esquemáticas: o exemplo não mostra os workers da aplicação responsáveis pela persistência, indexação, manipulação de mídia ou entrega de notificações. Ele também não especifica presença, ordenação de mensagens nem comportamento de reconexão.

Use o diagrama para estruturar uma discussão de design em torno da jornada de uma mensagem. Adicione os serviços e as confirmações necessários para explicar o que acontece antes de o remetente ver uma confirmação de sucesso, o que um destinatário offline recebe e como uma mensagem reenviada é tratada. Defina os requisitos de escala e entrega antes de escolher esses detalhes.

O que inclui

O que você recebe

  • Onze componentes de arquitetura identificados e doze conexões
  • Dois servidores WebSocket e um servidor de API REST atrás de um balanceador de carga
  • Redis Pub/Sub e Kafka mostrados como componentes de mensageria separados
  • PostgreSQL, S3, Elasticsearch e um componente de notificação push
Diagrama

Design de Sistema para Aplicativo de Chat

system-designchatwebsocketarchitecturetech

✦ Free preview · Sign in to use

Perguntas frequentes

Perguntas comuns

Isso mostra a sequência completa de entrega de mensagens?

Não. Ele mostra as conexões entre os componentes, mas não inclui etapas ordenadas de envio, confirmações ou tentativas novamente. Peça uma visão sequencial de um cenário específico, como o envio de uma mensagem para um usuário offline.

As gravações no banco de dados são feitas diretamente pelo Redis neste design?

O exemplo traça uma seta do Redis Pub/Sub para o PostgreSQL, mas não especifica a lógica da aplicação por trás disso. Adicione um serviço de persistência e defina suas responsabilidades antes da implementação.

Onde os anexos e as notificações são representados?

O S3 Media Store e o Push Notification aparecem conectados ao Kafka no exemplo. A iniciação do upload, o acesso à mídia, os provedores de notificação e as falhas de entrega não estão representados.

Design de Sistema para Aplicativo de Chat

Grátis para começar. Cartão de crédito não obrigatório.

Free preview · Sign in to use