Crie um diagrama de design de sistema para um aplicativo de chat
Sobre o framework
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
Design de Sistema para Aplicativo de Chat
✦ Free preview · Sign in to use
Perguntas frequentes
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.
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.
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.
Grátis para começar. Cartão de crédito não obrigatório.