Seidor
chica programando

05 juin 2024

Qu'est-ce que Node.js et à quoi sert-il ?

Node.js est un environnement JavaScript qui nous permet d'exécuter sur le serveur, de manière asynchrone, avec une architecture orientée événements et basé sur le moteur V8 de Google. C'est une plateforme qui progresse très rapidement et qui est de plus en plus présente sur le marché.

Comment fonctionne Node.js ?


Le moteur V8 compile JavaScript en code machine natif au lieu de l'interpréter dans le navigateur, obtenant ainsi une vitesse beaucoup plus élevée. Node est open source et peut s'exécuter sur Mac OS X, Windows et Linux.

JavaScript côté serveur


Traditionnellement, JavaScript a été utilisé uniquement pour des tâches mineures dans le navigateur, mais il est maintenant un langage de programmation aussi puissant que n'importe quel autre. De plus, JavaScript dispose d'un excellent modèle d'événements idéal pour la programmation asynchrone.

JavaScript est un langage connu par des millions de programmeurs, donc la courbe d'apprentissage de Node est réduite, car il n'est généralement pas nécessaire d'apprendre un nouveau langage.

Programmation asynchrone


En plus de la haute vitesse d'exécution, Node.js dispose de la Boucle d'Événements (Event Loop), qui permet de gérer d'énormes quantités de clients de manière asynchrone. Traditionnellement, pour travailler de manière asynchrone, les applications utilisaient la programmation basée sur les threads (programming threaded applications), mais cela suppose l'utilisation (généralement inefficace) d'un espace mémoire qui augmente à mesure que le nombre de clients connectés à notre application augmente.

Généralement, chaque thread utilise 2 Mo de mémoire, ce qui, dans un système de 8 Go de RAM, suppose un maximum théorique de connexions de 4 000 utilisateurs. Par conséquent, si nous devons gérer de grandes quantités de connexions, nous devrons augmenter le nombre de serveurs.

La solution de Node


Node.js résout ce problème en changeant la manière de réaliser les connexions avec le serveur. Au lieu de générer un nouveau thread E/S pour chaque client, chaque connexion déclenche l'exécution d'un événement dans le processus du moteur de Node. De cette manière, Node permet à un seul serveur qui l'exécute de supporter des dizaines de milliers de connexions.

Grâce à Node, LinkedIn est passé de l'utilisation de 30 serveurs à seulement 3 !

Peut-être que cela pourrait vous intéresser

05 juin 2024

Qu'est-ce que Redis ?

Redis est un moteur de base de données open source sous licence BSD. Son fonctionnement repose sur l'utilisation de tables de hachage (clé - valeur) et il peut être utilisé comme base de données persistante.

Data
SEIDOR
05 juin 2024

Qu'est-ce qu'ElasticSearch ?

ElasticSearch est un moteur de recherche orienté vers les documents qui nous permet d'indexer un grand volume de données afin de pouvoir les interroger par la suite.

Data
SEIDOR