Comment swoole gère-t-il le cluster ?
Comment créer un cluster de serveurs websocket swoole ?
Questions :
1. Comment réaliser une rotation automatique dans le cluster websocket swoole pour garantir la fiabilité
2. Comment créer le client du serveur 1 dans le swoole. Le cluster de serveurs Websocket A transmet les informations au client B du serveur 2 ?
Réponse :
Tout d'abord, vous devez comprendre que l'essence du problème est que vous n'êtes pas dans le même espace de processus (bien sûr sur un serveur différent), et vous ne pouvez pas communiquer directement car TCP ne peut pas être partagé La connexion ou la connexion TCP correspondante ne peut pas être exploitée directement
Maintenant, si vous avez plusieurs machines avec le même service dans un cluster (en tant que processus de travail quotidien) : A et B
Maintenant vous voulez le faire en A L'idée de communiquer d'une certaine connexion (un certain client) en B vers une certaine connexion (un certain client) en B :
Démarrer un serveur M
Dans le processus de démarrage de A et B, ouvrez une connexion Le client de M (nous les appelons respectivement C1 et C2) et écoute l'événement
Une certaine connexion (un certain client) dans A envoie un message au serveur A. Le serveur A traite les données utilisateur pertinentes identifiées par B et les transfère à C1. Ensuite, C1 envoie un message au serveur M
Ensuite, le M. Le serveur envoie un message à tous les clients connectés (bien sûr, si vous créez l'ID utilisateur correspondant et identifiez C2, vous pouvez simplement envoyer le message directement à C2. )
M envoie un message à C2, puis C2 trouve une connexion spécifique en B en fonction de l'identifiant, puis envoie le message directement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!