He construido una aplicación de mensajería instantánea completamente en @Cloudflare. Me tomó 1 día, 3 archivos, 4 recursos... y está lista para escalar de 0 a millones. Worker → autenticación y enrutamiento Base de datos D1 → almacenar usuario/contraseña User DO → perfil de usuario y amigos Conversation DO → mensajes Blog en respuesta, pero un rápido adelanto aquí: La biblioteca cloudflare/actors hizo que gran parte de esto fuera muy fácil con propiedades persistentes, gestión sencilla de conexiones de web socket y envío de mensajes a todos los oyentes. Pero, ¿qué hacía cada pieza? Autenticación y Enrutamiento (Worker + D1) Todas las solicitudes pasan a través del Worker, ya sea autenticadas o no. Si no están autenticadas, las acciones disponibles son iniciar sesión o registrarse. Cuando están autenticadas, pueden pasar la solicitud a cualquiera de nuestros Objetos Duraderos (usuario o conversación) para establecer una conexión de web socket. Toda la información de autenticación de los usuarios se almacena en una base de datos D1 (lo mantuve todo en CF para este ejemplo). Servicio de Usuario (Objeto Durable) Nuestra vista de lista de amigos se conecta directamente a nuestro Objeto Durable de usuario a través de web socket. Cuando actualizamos nuestro estado, enviamos un mensaje a nuestro DO individual que luego puede transmitir a través de RPC a los DO de nuestros amigos y determinar si están en línea para enviarles un mensaje de web socket para actualizaciones en vivo. Aquí es donde también almacenamos nuestra lista de amigos en una base de datos SQLite limitada a nuestro usuario. Servicio de Conversación (Objeto Durable) Cada conversación individual entre dos usuarios obtiene su propia instancia de DO. Su única responsabilidad es almacenar mensajes, enviar notificaciones (a través de sockets) cuando se envían nuevos mensajes y enviar una notificación cuando un usuario comienza a escribir para que podamos ver el "La persona está escribiendo..." Resumen; Construir aplicaciones por diversión para revivir recuerdos nostálgicos de la infancia es... vale la pena.