Javascript côté serveur : la révolution Node.js               Simon Courtois               Architecte logiciel            ...
Programmation classiquevar data = file.read(file.txt) var data = doSomething(data) file.write(file2.txt, data)Fil 1Fil 2Fi...
Programmation classiqueFil 1Fil 2Fil 3Fil 4Fil 5Fil 6Fil 7Fil 8● Threads / processes perpétuellement en attente● Coût (per...
Programmation asynchronevar data = file.read(file.txt), function(data) {  var data = doSomething(data)   file.write(file2....
Javascript côté serveur                              ● Le meilleur langage pour                                bien appréh...
Exemple de code : un serveur web simple      var http = require(http);      http.createServer(function (req, res) {       ...
Exemple de code : un chat en 14 lignes de code                              7
Performances : 100 000 requêtes, 1000 concurrentes                              8
Performances : 1 000 000 requêtes, 20 000 concurrentes                              9
Merci de votre attention                                              Contact :                                LINAGORA – ...
Prochain SlideShare
Chargement dans…5
×

Javascript côté serveur : la révolution Node.js

1 939 vues

Publié le

Présentation donnée lors du salon Solutions Linux 2011.
Animée par Simon Courtois, Architecte logiciel

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 939
Sur SlideShare
0
Issues des intégrations
0
Intégrations
71
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Javascript côté serveur : la révolution Node.js

  1. 1. Javascript côté serveur : la révolution Node.js Simon Courtois Architecte logiciel scourtois@linagora.com WWW.LINAGORA.COM
  2. 2. Programmation classiquevar data = file.read(file.txt) var data = doSomething(data) file.write(file2.txt, data)Fil 1Fil 2Fil 3Fil 4Fil 5Fil 6Fil 7Fil 8 2
  3. 3. Programmation classiqueFil 1Fil 2Fil 3Fil 4Fil 5Fil 6Fil 7Fil 8● Threads / processes perpétuellement en attente● Coût (performances et mémoire) de création dun thread / process● Effondrement des performances lorsque la concurrence est forte 3
  4. 4. Programmation asynchronevar data = file.read(file.txt), function(data) { var data = doSomething(data)  file.write(file2.txt, data)}● Appels de fonction non bloquants : rendent la main immédiatement puis appellent une fonction de callback une fois leur tâche terminée.● Multi-process / multi-thread inutile : tout se gère depuis une boucle événementielle● Pas de lock à gérer, ni de parallélisme à gérer explicitement : tout est fait dans le dos du développeur● Effondrement du dispositif si un ou plusieurs appels sont bloquants Node.js apporte une couche de gestion des entrées / sorties entièrement non bloquante 4
  5. 5. Javascript côté serveur ● Le meilleur langage pour bien appréhender la programmation asynchrone : méthodologie identique à celle des appels AJAX. ● Maturité du langage : CommonJS, ECMAScript 5, etc. ● Hautes performances 5
  6. 6. Exemple de code : un serveur web simple var http = require(http); http.createServer(function (req, res) { res.writeHead(200, {Content-Type: text/plain}); res.end(Hello Worldn); }).listen(1337, "127.0.0.1"); console.log(Server running at http://127.0.0.1:1337/); 6
  7. 7. Exemple de code : un chat en 14 lignes de code 7
  8. 8. Performances : 100 000 requêtes, 1000 concurrentes 8
  9. 9. Performances : 1 000 000 requêtes, 20 000 concurrentes 9
  10. 10. Merci de votre attention Contact : LINAGORA – Siège social 80, rue Roque de Fillol 92800 PUTEAUX FRANCE Tél. : 0 810 251 251 (tarif local) Fax : +33 (0)1 46 96 63 64 Mail : info@linagora.com Web : www.linagora.com WWW.LINAGORA.COM

×