Temps réel (Centrifugo)
Messagerie WebSocket en temps réel avec canaux, présence et pub/sub.
Créer un serveur temps réel
Pour créer une instance temps réel :
- Ouvrez Serveurs temps réel dans le tableau de bord sh0.
- Cliquez sur Créer un serveur temps réel.
- Saisissez un nom (par exemple « my-app-realtime »).
- Cliquez sur Créer. sh0 déploie une instance Centrifugo avec SSL automatique.
Votre serveur temps réel est immédiatement accessible à l'adresse wss://<name>.sh0.app/connection/websocket.
Canaux
Les canaux sont l'abstraction principale de Centrifugo. Les clients s'abonnent à des canaux et reçoivent les messages qui y sont publiés. Les noms de canaux sont des chaînes de caractères — c'est vous qui définissez la convention de nommage.
Espaces de noms
Utilisez les espaces de noms de canaux pour regrouper des canaux partageant une même configuration. Par exemple, les canaux nommés chat:room-1 et chat:room-2 appartiennent à l'espace de noms chat (avec : comme séparateur).
Configurez au niveau de l'espace de noms la rétention de l'historique, le suivi de présence et les permissions, dans la configuration de Centrifugo.
Présence
Activez la présence sur un canal pour savoir quels utilisateurs y sont actuellement abonnés. Les informations de présence comprennent l'identifiant du client et l'identifiant de l'utilisateur. Utile pour :
- Afficher qui est en ligne dans un salon de discussion.
- Afficher les collaborateurs actifs dans un document.
- Suivre le nombre de spectateurs d'un direct.
API de publication
Publiez des messages depuis votre backend vers n'importe quel canal via l'API HTTP :
La clé d'API est générée à la création du serveur temps réel et elle est visible dans le tableau de bord.
Client JavaScript
Installez le client JavaScript de Centrifugo :
npm install centrifuge
Connectez-vous et abonnez-vous :
Authentification
Centrifugo prend en charge l'authentification par JWT. Lors de la création de la connexion cliente, transmettez un jeton :
Le jeton doit contenir la revendication sub (subject) de l'utilisateur. Si vous utilisez le service d'authentification de sh0 (Logto), le jeton d'accès fonctionne directement.
Tableau de bord d'administration
Centrifugo intègre un tableau de bord d'administration pour superviser votre serveur temps réel. Accédez-y depuis le domaine de votre serveur temps réel. Le tableau de bord affiche :
- Le nombre de connexions actives.
- Le débit de messages par seconde.
- Les canaux actifs et leur nombre d'abonnés.
- Les informations sur les nœuds du serveur et leur état de santé.