Maison >cadre php >Workerman >Comment développer un cluster de travailleurs

Comment développer un cluster de travailleurs

(*-*)浩
(*-*)浩original
2019-12-12 10:20:103521parcourir

GatewayWorker est basé sur un cadre de projet développé par Workerman et est utilisé pour développer rapidement des applications TCP à connexion longue, telles que des serveurs push d'applications, des serveurs de messagerie instantanée, des serveurs de jeux, l'Internet des objets, des maisons intelligentes, etc.

Comment développer un cluster de travailleurs

Workerman peut être considéré comme une pure bibliothèque de classes socket, qui peut développer presque toutes les applications réseau, qu'il s'agisse de TCP ou d'UDP, d'une connexion longue ou d'une connexion courte. Workerman dispose d'un code rationalisé, de fonctions puissantes et d'une utilisation flexible, et peut développer rapidement diverses applications réseau. (Apprentissage recommandé : Tutoriel Workerman )

En même temps, Workerman est également plus bas que GatewayWorker, et les développeurs ont besoin d'une certaine expérience en programmation multi-processus.

Conseils

Toutes les interfaces fournies par GatewayWorker prennent en charge les appels distribués, de sorte que le code métier ne nécessite aucune modification et peut être directement déployé de manière distribuée.

Comment distribuer GatewayWorker

GatewayWorker utilise le service Register pour établir un cluster partitionné. Le même cluster utilise la même adresse IP et le même port du service Register , c'est-à-dire que les adresses du service d'enregistrement de Gateway et businessWorker ($gateway->registerAddress $businessworker->registerAddress) pointent vers le même service Register.

Étapes clés du déploiement distribué

1. Un cluster ne nécessite qu'un seul serveur en tant que service Register, qui est utilisé pour coordonner l'établissement de Gateway et de BusinessWorker lors du processus. démarre. Pour se connecter à la communication, d'autres serveurs peuvent supprimer le fichier start_register.php ou commenter le code qu'il contient.

(Le service Register lui-même a un volume de communication extrêmement faible et ne communique généralement que lorsque le processus est démarré, de sorte que le service Register lui-même ne deviendra pas un goulot d'étranglement. Même si le serveur du service Register raccroche temporairement pendant le fonctionnement, il n'aura aucun impact sur les services réseau externes. Impact, le service Register n'a donc généralement pas besoin d'être hautement disponible)

2. Définissez l'adresse du service d'enregistrement (registerAddress) de Gateway et businessWorker sur un registre unifié. adresse du service, qui est le serveur sur lequel se trouvent le service d'enregistrement sélectionné à l'étape 1, l'adresse IP et le port.

3. Définissez le lanIp dans le script de démarrage de la passerelle (généralement start_gateway.php) pour qu'il soit cohérent avec l'adresse IP intranet actuelle du serveur

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn