Fork me on GitHub
/ Sweet home / Blog / Node.js: plus de clients, moins de serveurs. /

Node.js: plus de clients, moins de serveurs.

Last update: 2011-07-13 12:21:19

Il y a un moment que le Javascript est sorti du cadre du navigateur, mais il se pourrait que le phénomène prenne une toute autre ampleur en 2010 avec la maturation de node.js et de son écosystème.

Là où beaucoup proposent de résoudre les problèmes de montée en charge à coup d'achat de lames, node.js propose lui un modèle évènementiel, plus efficace en terme de consommation de ressources (mémoire notamment) que celui des threads.

L'approche n'est pas nouvelle et existe déjà dans des frameworks tels que tornado, twisted et des serveurs web (nginx par exemple). Ce qui est moins courant c'est que cette approche est généralisée à tout le langage et à toutes les API de node (même la lecture de fichier se fait de façon asynchrone).

Quand on ajoute à cela que de nombreux frameworks pour node.js ont vu le jour (du plus minimal au plus complet), que tous les développeurs web ont au minimum des notions de Javascript, que pas mal de librairies utilisées dans le navigateur sont bien sur réutilisables dans node.js, que son installation se fait très simplement de par le petit nombre de dépendances, que les architectures des applications webs doivent supporter toujours plus de connexions simultanées...

Bref, je ne vais pas trop faire mon Fred "nostradamus" Cavazza, mais tout est réuni pour que 2010 soit l'année du Javascript coté serveur et des applications "scalable" à portée de tous.

Juste pour rire, le résultat d'un ab sur un helloworld en php:

Concurrency Level:      100
Time taken for tests:   9.623 seconds
Complete requests:      10000
Requests per second:    1039.13 [#/sec] (mean)
Time per request:       96.234 [ms] (mean)
Time per request:       0.962 [ms] (mean, across all concurrent requests)

le même, sur le même serveur, avec node.js

Concurrency Level:      100
Time taken for tests:   2.735 seconds
Complete requests:      10000
Requests per second:    3656.96 [#/sec] (mean)
Time per request:       27.345 [ms] (mean)
Time per request:       0.273 [ms] (mean, across all concurrent requests)

<< Redbean SQLite support
Python MP3 indexer / look-up >>
 

Comments

metagoto

Tout à fait d'accord, javascript mérite amplement sa place coté serveur.

JS server-side ainsi que l'avènement des DBs schema-free (mongodb et
compagnie), voilà ce qui va exploser en 2010.

BONNAURE Olivier

Tout à fait d'accord !
Moi j'utilise déjà les bases noSQL depuis un certain temps ... ce n'est
que du bonheur !

Là je développe un jeu multi joueur avec node.js 
Par contre c'est pas vraiment production ready node.js pour le moment ...
En espérant que la v1 sorte très bientôt !

Node.js, redis, mongoDB ... que du bon !

Comment this