Diseño de sistemas para una aplicación de chat

Diagrama13 nodosIngeniería · Arquitectura de chatHecho con un prompt
Vista previa de solo lectura

El prompt

Crea un diagrama de diseño de sistemas para una aplicación de chat

Crea tu propia versión

Sobre el marco

Sigue los componentes de un servicio de chat

Este ejemplo de arquitectura contiene once componentes y doce conexiones. Un cliente móvil o web llega a un balanceador de carga, que se conecta a dos servidores WebSocket y a un servidor de API REST. Ambos servidores WebSocket se conectan a Redis Pub/Sub, mientras que el servidor REST se conecta a Kafka.

Las flechas restantes conectan Redis con PostgreSQL y Kafka con PostgreSQL, S3, Elasticsearch y las notificaciones push. Son conexiones esquemáticas: el ejemplo no muestra los workers de la aplicación responsables de la persistencia, la indexación, la gestión de archivos multimedia ni la entrega de notificaciones. Tampoco especifica la presencia, el orden de los mensajes ni el comportamiento de reconexión.

Usa el diagrama para estructurar una conversación de diseño en torno al recorrido de un mensaje. Añade los servicios y las confirmaciones necesarios para explicar qué ocurre antes de que el remitente vea el mensaje como enviado correctamente, qué recibe un destinatario sin conexión y cómo se gestiona un mensaje reenviado. Define los requisitos de escala y entrega antes de elegir esos detalles.

Qué incluye

Qué obtienes

  • Once componentes de arquitectura etiquetados con doce conexiones
  • Dos servidores WebSocket y un servidor de API REST detrás de un balanceador de carga
  • Redis Pub/Sub y Kafka representados como componentes de mensajería independientes
  • PostgreSQL, S3, Elasticsearch y un componente de notificaciones push
Diagrama

Diseño de sistemas para una aplicación de chat

system-designchatwebsocketarchitecturetech

✦ Free preview · Sign in to use

Preguntas frecuentes

Preguntas comunes

¿Muestra la secuencia completa de entrega de mensajes?

No. Muestra las conexiones entre componentes, pero no incluye envíos ordenados, confirmaciones ni pasos de reintento. Pide una vista de secuencia para un escenario específico, como el envío de mensajes a un usuario sin conexión.

¿Redis gestiona directamente las escrituras en la base de datos en este diseño?

El ejemplo dibuja una flecha de Redis Pub/Sub a PostgreSQL, pero no especifica la lógica de la aplicación que hay detrás. Añade un servicio de persistencia y define sus responsabilidades antes de implementarlo.

¿Dónde se representan los archivos adjuntos y las notificaciones?

En el ejemplo, S3 Media Store y Push Notification se conectan desde Kafka. No se muestran el inicio de las cargas, el acceso a los archivos multimedia, los proveedores de notificaciones ni los fallos de entrega.

Diseño de sistemas para una aplicación de chat

Gratis para empezar. No se requiere tarjeta de crédito.

Free preview · Sign in to use