Maison >cadre php >Workerman >Qu'est-ce qu'un travailleur ?

Qu'est-ce qu'un travailleur ?

(*-*)浩
(*-*)浩original
2019-12-02 09:09:163898parcourir

Qu'est-ce qu'un travailleur ?

workerman est un framework de serveur de socket PHP hautes performances basé sur une bibliothèque d'interrogation d'événements PHP multi-processus et libevent dont les développeurs PHP n'ont besoin que. pour en implémenter une Avec deux interfaces, vous pouvez développer vos propres applications réseau, telles que des services Rpc, des serveurs de salon de discussion, des 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 basés sur des sockets hautes performances sans avoir à comprendre les détails des sockets PHP et des multi-processus PHP. (Apprentissage recommandé : tutoriel workererman )

workerman lui-même est un framework de serveur multi-processus PHP avec des modules de gestion de processus PHP et de communication socket, il ne repose donc pas sur php- Les conteneurs tels que fpm, nginx ou apache peuvent s'exécuter indépendamment.

Gestion des processus PHP : similaire à la gestion des processus du système d'exploitation.

Socket : deux programmes sur le réseau échangent des données via une connexion de communication bidirectionnelle. Une extrémité de cette connexion est appelée une socket.

Principales fonctionnalités de Workerman :

Développement PHP pur

workerman est entièrement développé en PHP et les applications développées en utilisant Workerman. le programme peut s'exécuter indépendamment sans s'appuyer sur des conteneurs tels que php-fpm, Apache et nginx. Cela permet aux développeurs PHP de développer, déployer et déboguer des applications très facilement.

Prise en charge du multi-processus PHP

Afin d'utiliser pleinement les performances multi-CPU du serveur, Workerman prend en charge le multi-processus et le multi-tâches par défaut. Workerman démarre un processus principal et plusieurs sous-processus pour fournir des services externes. Le processus principal est chargé de surveiller les signaux de sortie des sous-processus et de générer de nouveaux sous-processus pour gérer les services. mais rend également Workerman plus stable.

Support TCP, UDP

workerman prend en charge TCP et UDP deux protocoles de couche de transport. Il vous suffit de modifier un champ de la configuration pour modifier le protocole de couche de transport et l'activité. Aucune modification n’est requise.

Prise en charge des connexions longues

Souvent, les applications PHP doivent maintenir de longues connexions avec les clients, tels que les salons de discussion, les jeux, etc., mais les conteneurs PHP traditionnels (apache, nginx, php-fpm), c'est difficile à faire. Workerman facilite l'utilisation de connexions longues PHP. Un seul processus PHP peut prendre en charge des milliers, voire des dizaines de milliers de connexions simultanées, et plusieurs processus peuvent prendre en charge des centaines de milliers, voire des millions de connexions simultanées.

Prend en charge divers protocoles de couche d'application

L'interface prend en charge divers protocoles de couche d'application, y compris des protocoles personnalisés. Les protocoles pris en charge par Workerman par défaut incluent HTTP, WebSocket et le protocole Text simple. Dans le même temps, Workerman fournit une interface de protocole commune et les développeurs peuvent facilement développer leurs propres protocoles basés sur cette interface.

Prend en charge la simultanéité élevée

workerman prend en charge la bibliothèque d'interrogation d'événements Libevent (nécessite l'installation de l'extension Libevent). Les performances de Libevent sont très bonnes lors de l'utilisation de Libevent. Libevent n'est pas installé, utilisez les appels système sélectionnés intégrés à PHP. cn_notebook où cn_note_id = "";

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