Tiempo real (Centrifugo)
Mensajería WebSocket en tiempo real con canales, presencia y pub/sub.
Crear un servidor en tiempo real
Para crear una instancia en tiempo real:
- Ve a Servidores en tiempo real en el panel de control de sh0.
- Haz clic en Crear servidor en tiempo real.
- Introduce un nombre (por ejemplo, "my-app-realtime").
- Haz clic en Crear. sh0 despliega una instancia de Centrifugo con SSL automático.
Tu servidor en tiempo real es accesible de inmediato en wss://<name>.sh0.app/connection/websocket.
Canales
Los canales son la abstracción principal de Centrifugo. Los clientes se suscriben a canales y reciben los mensajes publicados en ellos. Los nombres de canal son cadenas de texto — tú defines la convención de nombres.
Espacios de nombres
Usa los espacios de nombres de canales para agrupar canales con una configuración compartida. Por ejemplo, los canales llamados chat:room-1 y chat:room-2 pertenecen al espacio de nombres chat (con : como separador).
Configura a nivel de espacio de nombres la retención del historial, el seguimiento de presencia y los permisos en la configuración de Centrifugo.
Presencia
Activa la presencia en un canal para saber qué usuarios están suscritos en ese momento. La información de presencia incluye el ID del cliente y el ID del usuario. Útil para:
- Mostrar quién está en línea en una sala de chat.
- Mostrar los colaboradores activos en un documento.
- Seguir el número de espectadores de una transmisión en vivo.
API de publicación
Publica mensajes desde tu backend en cualquier canal mediante la API HTTP:
La clave de API se genera al crear el servidor en tiempo real y es visible en el panel de control.
Cliente JavaScript
Instala el cliente JavaScript de Centrifugo:
npm install centrifuge
Conéctate y suscríbete:
Autenticación
Centrifugo admite autenticación basada en JWT. Al crear la conexión del cliente, pasa un token:
El token debe contener el claim sub (subject) del usuario. Si usas el servicio de autenticación de sh0 (Logto), el token de acceso funciona directamente.
Panel de administración
Centrifugo incluye un panel de administración integrado para monitorear tu servidor en tiempo real. Accede a él desde el dominio de tu servidor en tiempo real. El panel muestra:
- El número de conexiones activas.
- El rendimiento en mensajes por segundo.
- Los canales activos y su número de suscriptores.
- La información de los nodos del servidor y su estado de salud.