Node.js
Thème :
Junior
1 vues ·2/12 leçonsArchitecture et Fonctionnement de Node.js
Moteur JavaScript vs Environnement d’exécution
Moteur JavaScript (ex: V8)
Le cœur qui se charge de l’analyse, de la compilation et de l’exécution du code :
- Parsing (analyse syntaxique)
- Compilation JIT (Just-In-Time)
- Exécution directe par la machine
Environnement d’exécution (Runtime)
Une plateforme complète qui intègre le moteur ainsi que des API supplémentaires :
- API Web / Node API : Accès au système de fichiers, réseau, timers.
- Boucle d’événements (Event Loop) : Gère les opérations de manière non bloquante.
Étapes détaillées de l’exécution
- Exécution du Code : Le moteur V8 compile et exécute le code.
- Interaction avec les API : Accès aux fonctionnalités système.
- Délégation au Système : Les tâches lourdes (E/S) sont déléguées au système d’exploitation.
- Task Queue : Les tâches terminées sont placées dans une file d’attente.
- Event Loop : Coordonne l’exécution. Elle vérifie si le Call Stack est vide avant de déplacer une tâche de la queue vers la pile.
- Worker Threads : Node.js utilise un pool de threads pour les opérations bloquantes.
La boucle d’événements (Event Loop)
C’est le mécanisme central qui permet le non-blocage. Ses phases principales :
- Timers : callbacks de
setTimeout()etsetInterval(). - I/O callbacks : traitement des I/O terminées.
- Poll : récupération de nouveaux événements.
- Check : callbacks de
setImmediate(). - Close callbacks : fermeture de connexions.
En résumé :
- JavaScript Engine (V8) exécute le code.
- Node.js API fournit des fonctionnalités système.
- Les tâches lourdes sont déléguées.
- Les tâches terminées vont dans la Task Queue.
- L’Event Loop gère la boucle d’exécution.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Architecture et Fonctionnement de Node.js. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.