Présentation de node.js et de mongoDB Vincent Hétru JUG Bordeaux 2012 – ENSEIRB-MATMECA
Node.js var http = require('http') ; http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(3000, " "); console.log('Server running at $ node hello.js Server running at
Node.js Basé sur l'interpréteur javascript V8 Programmation orientée asynchrone événementielle – non blocking I/O
Concept sous-jacent Entrées et Sorties non bloquantes Un seul thread pour des traitements parallèles. multi-threading possible par l'utilisation de fork ou de worker
Inconvénients de Node.js Pas complétement mature Synchronisation manuelle des évènements
Les usages Scraper/Crawler de sites ou API avec node.io Communication temps réel entre navigateurs avec Socket.io RESTful API Web App
MongoDB Base de données documentaire JSON Différence avec des bases relationnelles Table => collection Clés étrangères => référence (DBRef) Ready to scale – Sharding et Replication
Node.js et mongoDB Utilisent le même format de données Utilisent javascript V8
Utilisation avec wherevent.com Alimentation et mise à jour de la base de données. Système de callback optimisé pour les mashups. Un répliqua pour node et un pour catalyst
Questions?