Maison  >  Article  >  cadre php  >  Quelle est la différence entre un ouvrier et un swoole

Quelle est la différence entre un ouvrier et un swoole

WBOY
WBOYoriginal
2022-02-10 13:34:439436parcourir

Différence : 1. swoole est un framework de communication de socket implémenté en langage C, tandis que Workerman est un framework de socket implémenté en PHP pur ; 2. Dans Workerman, le socket est géré par le processus de travail, tandis que swoole est géré par le thread du réacteur ; dans le processus principal.

Quelle est la différence entre un ouvrier et un swoole

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Swoole 4, ordinateur DELL G3

Quelle est la différence entre workerman et swoole

workerman et swoole sont très controversés à ce stade. apprenez à vous connaître quand vous avez le temps, sinon vous ne serez pas dans le cercle php. Swoole est un framework de communication socket implémenté en langage C, tandis que Workerman est un framework de communication socket implémenté en PHP pur. Il existe également de nombreuses différences dans les modèles de processus entre les deux.

processus maître

Ce processus est relativement complexe, et c'est aussi le processus principal à mon avis. C'est un processus qui contient plusieurs threads, dont un thread principal et n threads de réacteur (le nombre peut être configuré).

Parmi eux, le thread principal est utilisé pour accepter de nouvelles connexions, puis évalue le nombre de connexions que chaque thread de réacteur est chargé de maintenir, puis les alloue au thread de réacteur avec le plus petit nombre pour garantir que la charge de chaque réacteur le fil est équilibré au maximum.

Essentiellement, une fois qu'un socket est lisible ou inscriptible, il est envoyé par le thread du réacteur au processus de travail ou envoyé au client. De plus, le thread principal est également chargé de reprendre tous les signaux pour éviter toute interruption lorsque le thread du réacteur reçoit des signaux.

Pour le dire plus occidentalement, le processus maître est responsable de l'acceptation et de l'hébergement de la connexion, ainsi que de la lisibilité et de l'écriture du socket (l'envoi et la réception des données). En substance, le processus maître est responsable des IO. A noter également que le thread réacteur est un mode de travail totalement asynchrone et non bloquant.

processus manager

Le processus manager est la mère du processus work et du processus taskworker. Pour le dire franchement, le processus manager forge le processus work et le processus taskworker. Ils doivent être gérés après leur naissance, donc le manager. process doit en être responsable. Les obligations de maintenance des processus de travail et des processus taskworker incluent la surveillance de leur statut, le redémarrage d'un nouveau processus lorsqu'il raccroche de manière inattendue (en évitant les processus zombies) et le redémarrage en douceur (le rechargement légendaire).

Processus de travail

Le processus de travail est dérivé du processus de gestionnaire. Pour parler franchement, ce processus ne fait que déplacer des briques vers le travail (code d'entreprise mentionné à plusieurs reprises dans les documents officiels). code logique qui est habituellement codé, je comprends déjà. La seule différence avec le processus de travail est que ce processus peut fonctionner de manière asynchrone ou synchrone. Si vous ne comprenez pas ce que cela signifie, mémorisez-le d’abord et familiarisez-vous avec lui avant d’en parler.

processus de travail de tâche

le processus de travail de tâche (ci-après dénommé processus de travail de tâche) est en fait essentiellement un processus de travail, mais il s'agit d'un type particulier de processus de travail. S'il y a des opérations fastidieuses et exigeantes en main-d'œuvre dans votre processus de travail, vous pouvez d'abord les lancer dans le processus de travail et effectuer d'autres choses vous-même lorsque le processus de travail a terminé, le processus de travail les récupérera. Cependant, le processus tasker ne peut fonctionner qu'en mode synchrone et ne peut pas utiliser le mode asynchrone. C'est pourquoi le processus de travail ne peut pas utiliser de minuteurs, mais le processus de travail peut utiliser des minuteurs.

Résumons brièvement et parlons de la façon dont ces processus fonctionnent ensemble. Pour parler franchement, le processus principal est responsable de la prise en charge des tâches de vente, mais le travail spécifique est effectué par le processus de travail. Si le processus de travail estime que certains processus sont trop chargés et compliqués, il peut laisser le processus de tâche le faire. Le processus gestionnaire est le département de soutien aux ressources humaines du processus des travailleurs logistiques et du processus preneur, responsable de leur vie et de leur mort et de leur alimentation, de leur boisson et de leur sommeil.

workerman

Le modèle de processus de Workerman est relativement beaucoup plus simple. Tout d'abord, comparé à Swoole, Workerman n'a pas de thread de réacteur dans Swoole. Deuxièmement, Workerman n'a pas de processus de travail ni de processus de tâche pour gérer les tâches ordinaires. entreprise. Dans le cas de Workerman, le socket est géré par le processus de travail, tandis que dans Swoole, il est géré par le thread du réacteur dans le processus principal. Après avoir reçu les données, swoole peut traiter l'entreprise via son propre processus de travail (un peu similaire au processus fpm).

workerman est un framework de serveur de socket PHP hautes performances. Workerman est basé sur une bibliothèque d'interrogation d'événements PHP multi-processus et libevent. Les développeurs PHP n'ont besoin que d'implémenter une ou deux interfaces pour développer leurs propres applications réseau, telles que les services Rpc et le chat. salles. Serveurs, serveurs de jeux mobiles, etc. L'objectif de

workerman est de permettre aux développeurs PHP de développer plus facilement des services d'application hautes performances basés sur des sockets sans avoir à comprendre les détails des sockets PHP et des multi-processus PHP. Workerman lui-même est un framework de serveur multi-processus PHP avec des modules pour la gestion des processus PHP et la communication par socket, il peut donc s'exécuter indépendamment sans dépendre de conteneurs tels que php-fpm, nginx ou apache

Apprentissage recommandé : Tutoriel Swoole

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