Skip to content

Decisiones Arquitectonicas: Web Sockets

Pablo Garcia edited this page Apr 6, 2026 · 1 revision

Fecha: 2026-04-06

El modo multijugador requiere comunicación bidireccional en tiempo real entre dos jugadores: cada movimiento debe llegar al oponente de forma inmediata sin que el cliente tenga que hacer polling.


Por ello creamos un servidor WebSocket dedicado e independiente (ws-server) implementado en Node.js con la librería ws, desplegado como un contenedor Docker propio y accesible desde el exterior a través del proxy de Nginx en la ruta /ws.

RAZONES

  • Familiaridad del equipo con Node.js y Express, todo el equipo tiene experiencia sólida con Node.js gracias a la asignatura SDI, donde desarrollamos aplicaciones completas con Express. Esto nos permitió implementar el servidor WebSocket con confianza y rapidez, gracias a la libreria ws

  • No modifica los servicios existentes Añadir WebSocket al Gateway (Spring Boot MVC bloqueante) habría requerido migrar a Spring WebFlux.

  • Separación clara de responsabilidades El servidor WS tiene una única función: emparejar jugadores por código de sala y retransmitir mensajes entre ellos.

Clone this wiki locally