Maison  >  Article  >  développement back-end  >  PHP peut-il être distribué ?

PHP peut-il être distribué ?

(*-*)浩
(*-*)浩original
2019-10-19 09:55:416090parcourir

Un système distribué est un système logiciel construit sur le réseau. C'est précisément en raison des caractéristiques des logiciels que les systèmes distribués présentent un haut degré de cohésion et de transparence. La différence entre les réseaux et les systèmes distribués réside donc davantage dans le logiciel de haut niveau (en particulier le système d’exploitation) que dans le matériel.

PHP peut-il être distribué ?

Cadre de communication distribué Swoole SwooleDistributed

Le nom complet du framework SD est SwooleDistributed. l'un est Swoole et l'autre est Distributed. Il s'agit d'un framework de serveur d'applications basé sur l'extension Swoole qui peut être déployé de manière distribuée. (Apprentissage recommandé : Tutoriel vidéo PHP)

Avec l'aide de l'environnement de développement efficace de PHP, du moteur de communication réseau asynchrone hautes performances de Swoole et d'autres extensions et outils haute disponibilité, le framework SD fournit Fournir aux développeurs un cadre de serveur d'applications stable, efficace et puissant.

Nous listons ici les différentes fonctions et composants de module fournis par SD

Protocole mixte, le framework SD prend en charge le protocole de connexion long TCP , WebSocket , protocole de connexion court HTTP et UDP. En configurant et en ouvrant différents ports, les développeurs peuvent facilement gérer différents protocoles et partager un ensemble de codes métier. Bien entendu, vous pouvez isoler le code grâce au routage intelligent.

Les connexions longues peuvent être configurées avec différents protocoles de transmission de données, tels que les protocoles de texte de protocole binaire, etc. Diverses encapsulations de protocole peuvent être personnalisées via l'interface d'encapsulation et de décompression fournie par le framework, et parmi divers protocoles peuvent être automatiquement converti. Par exemple, si vous envoyez un message par diffusion et que les informations circulent vers différents clients, et que les clients utilisent des protocoles différents, le framework convertira automatiquement différentes encapsulations de protocole en fonction des différents ports. Vous pouvez également envoyer des messages push à tous les clients à longue connexion via HTTP. Les entreprises, comme ce type de collaboration à protocole mixte, seront extrêmement simples sur le framework SD.

MVC et routage intelligent. La conception du framework est une architecture MVC, dans laquelle chaque niveau peut être divisé en sous-niveaux. Les développeurs peuvent continuer à superposer les contrôleurs et à les gérer via différents niveaux. dossiers. Le modèle peut également être subdivisé en couche métier et couche de données, qui dépendent toutes de la conception du système du développeur. Le routage intelligent traitera les données décompressées par le dépacketiseur et sera responsable de la transmission des données à la couche contrôleur.

Middleware, le framework SD fournit également un middleware, qui peut traiter les données entrantes, telles que le nettoyage des données anormales, la modification des données, les statistiques de trafic, la collecte de journaux et d'autres fonctions. Plusieurs middlewares peuvent être définis et ils sont liés aux ports.

Pool d'objets, la plupart des objets du framework SD utilisent la technologie de pool d'objets est propice à la stabilité de la mémoire système, réduit le nombre de GC et améliore l'efficacité de fonctionnement de. Les faits ont prouvé que les pools d'objets ont apporté une grande contribution à la stabilité du système. Les développeurs peuvent également utiliser cet ensemble de technologies de pool d'objets pour augmenter la réutilisation des objets, réduire la fréquence des GC et NEW et réduire les problèmes du système et les fuites de mémoire. . Il y a de grandes améliorations de stabilité.

Les clients asynchrones et les pools de connexions , Mysql, Redis, le client Http, le client TCP et d'autres clients plus complexes sont tous asynchrones dans le cadre SD, Asynchrone résout la capacité globale de concurrence du système , mais le client asynchrone doit assurer la maintenance du pool de connexions. Le framework SD fournit un pool de connexions. Les développeurs n'ont pas besoin de gérer eux-mêmes le pool de connexions, ils doivent simplement l'utiliser.

Coroutine, les rappels d'événements asynchrones résolvent les performances de concurrence, mais provoquent une confusion dans le code métier. Le framework SD fournit des coroutines pour résoudre ce problème.Il fournit une écriture synchrone asynchrone via le mot-clé rendement, éliminant un grand nombre d'imbrications de rappel dans l'écriture commerciale. Vous pouvez obtenir des performances asynchrones grâce à l'écriture synchrone + rendement. Les coroutines fournissent un système complet, comprenant les délais d'attente, les exceptions, la mise en veille, la sélection multidirectionnelle et la création de coroutines utilisateur. Les

Les tâches planifiées, comme leur nom l'indique, sont des tâches qui sont exécutées régulièrement.

Livraison des tâches prend en charge la livraison de tâches chronophages au processus de tâches.

Rechargement automatique, vous pouvez activer la fonction de rechargement automatique du framework, afin que les modifications de code reçoivent une réponse immédiate.

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