Nodejs convient aux projets : 1. Applications intensives en "E/S" ; 2. Couche intermédiaire ; 3. Services RPC ; 4. Outils de base, tels que des compilateurs, des outils de construction, des échafaudages, etc. ; ; 6. Application BFF ; 7. Sans serveur ; 8. Microservices, etc.
L'environnement d'exploitation de ce tutoriel : système windows7, nodejs version 12.19.0, ordinateur DELL G3.
Node.js convient aux
Applications intensives en E/S
Les avantages de Node.js résident principalement dans la boucle d'événements, les E/S asynchrones non bloquantes, un seul thread est ouvert et chaque thread ne l'est pas. Chaque fois qu'une demande arrive, je crée un thread, ce qui entraîne une surcharge de ressources.
ResutFul API
Habituellement, nous pouvons utiliser Node.js comme couche intermédiaire, qui est responsable de l'assemblage des données et de la fourniture d'interfaces API pour les appels frontaux. Ces sources de données peuvent provenir d'interfaces ou de bases de données tierces. Par exemple, nous avons peut-être réussi. Nous pouvons utiliser Java, PHP et d'autres langages pour le faire. Désormais, nos ingénieurs front-end peuvent le réaliser via Node.js, et le back-end peut se concentrer davantage sur le développement commercial.
Maintenant que l'API ResultFul est mentionnée, je voudrais recommander un outil de gestion d'API open source Qunar YAPI : https://github.com/YMFE/yapi Il est développé en utilisant Node.js (avertissement : ce n'est pas une publicité , juste pour ça) Il a l'air vraiment bien ! Je ne peux m'empêcher de le recommander à tout le monde !)
Service RPC
RPC (Remote Procedure Call) Nom chinois "Remote Procedure Call", peut-être que vous ne le connaissez pas, mais dans le modèle de microservice actuel, nous pouvons entretenir des fonctions ou des formulaires commerciaux spécifiques, alors nous le savons tous un mode commun de communication entre les services est implémenté via HTTP. Les étudiants qui comprennent le modèle de réseau le savent peut-être : serait-il plus efficace si nous utilisions TCP maintenant ?
Oui, bien sûr, HTTP est un protocole de couche application, et en dessous se trouve la couche de transport. Évidemment, les services RPC utilisent également TCP. Les services RPC désormais célèbres tels que le gRPC de Google, Alibaba Dubbo.
Outils de base
peuvent être utilisés comme outils de base, tels que des compilateurs, des outils de construction, des échafaudages, etc. dans le domaine front-end. Les plus connus comme Webpack et Gulp connaissent un grand succès.
Forum Community
Nodeclub est un système communautaire développé à l'aide de Node.js et MongoDB. Il possède une interface élégante, des fonctions riches, une petite taille et une rapidité. La communauté Cnode est un exemple réussi d'adresse Cnode : https://cnodejs.org/
https://github.com/cnodejs/nodeclub
Backend For Frontend
Backend For Frontend, appelé BFF, Le back-end du front-end n'est pas une nouvelle technologie, mais une couche logique. Dans cette couche, nous pouvons intégrer certaines ressources. Par exemple, le front-end doit obtenir des ressources à partir de trois endroits différents. sont Après avoir construit cette couche, pouvons-nous faire une agrégation, la traiter uniformément et la renvoyer au front-end, tout en n'autorisant pas les modifications dans le système back-end, ce qui entraînerait des modifications.
Sans serveur
Ce sera un mot que vous entendrez souvent à l'avenir. ServerLess est une "architecture sans serveur". Elle n'exige pas que les développeurs se soucient du fonctionnement, de la maintenance et du traitement du trafic, et les développeurs peuvent y prêter plus d'attention. à l'entreprise elle-même.
Fonctionner en tant que service, puis écrire une fonction peut implémenter une interface API vers le front-end, ce qui facilite évidemment beaucoup le travail de développement. En JavaScript, les fonctions sont des citoyens de premier ordre. Dans le scénario ServerLess, c'est le cas. également très léger, ce qui présente encore de grands avantages.
Microservices (Microservices)
Les microservices ont également été un mot très tendance ces deux dernières années. Voici quelques caractéristiques principales des microservices : de petits services, fonctionnant comme des processus indépendants et la possibilité d'utiliser différents langages. Ensuite, vous pouvez choisir ici différentes implémentations de langage en fonction de la forme commerciale. Node.js lui-même est également très léger et rapide à implémenter. Il est toujours très applicable dans certains scénarios gourmands en E/S.
Choisissez quel outil pour n'importe quel scénario, il n'y a pas de meilleur, seulement le plus adapté !
Pour plus de connaissances sur les nœuds, veuillez visiter : tutoriel Nodejs ! !
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!