Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.

Le coin de la technique

Le coin de la technique

Vert.x 1.0, le node killer ?

Vert.x est un nouveau framework applicatif inspiré par Node.js tournant sur la JVM (7 uniquement). Vert.x expose son API en Java, et Groovy, mais également en Ruby et JavaScript (merci à JRuby et Rhino). Les supports de Scala, Clojure et Python sont sur la roadmap. Et la version 1.0 vient juste de sortir.

Il y a un certain nombre de composants out-of-the-box :

  • un bus évènementiel distribué (entre les instances Vert.x qui supportent un mode cluster)
  • gestion des WebSockets
  • gestion de SockJS
  • un persisteur MongoDB

Parmi les fonctionnalités clés :

  • Polyglotte : Il est possible de choisir entre les langages supportés pour son application, ou de mixer selon les modules et de les faire communiquer via le bus évènementiel.
  • Modèle de concurrence simplifié : Vert.x permet d’écrire son code comme single-threadé, tout en exploitant au maximum les capacités de la machine.
  • Modèle de programmation asynchrone et librairies pour écrire de vraies applications non bloquantes.
  • Le bus évènementiel inter-module traverse les cotés client et serveur pour les faire communiquer de façon transparente.

Les briques sous-jacentes incluent : Netty, JRuby, Rhino et Hazelcast. Ce projet parait très prometteur et est sponsorisé par SpringSource (donc VMWare). Tout y est, une bonne documentation, des exemples de code à la pelle et il est également possible de l’embarquer sans soucis (et comme tout framework qui se respecte, les benchmarks).

Prenez quelques minutes pour en savoir plus. Il devrait faire parler de lui sous peu.

Autour du sujet : une interview sur InfoQ et un post de blog sur le déploiement d’application Vert.x sur Heroku.

Hive 0.9

Hive est un outil de requêtage inspiré de SQL pour Hadoop MapReduce. Le 30 avril, la version 0.9 est sortie et Cloudera a fourni une vue d’ensemble du changelog. Coté utilisateur, Hive supporte maintenant l’opérateur between, la comparaison compatible avec NULL et quelques nouvelle fonctions dont printf() et sort_array(). Coté performance, la planification et exécution des requêtes a été améliorée pour les UNIONs, pour les jointures coté map et pour les group by multiples.

Billets sur le même thème :

Un commentaire

  • Quelques informations en plus sur Vert.x sur le theme « node killer »:
    - les developpeurs de Node et Tim Fox se sont chamailles sur l’article de blog au sujet du benchmark vert.x vs node ici : http://vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js-simple-http-benchmarks (blog vertx) et ici http://news.ycombinator.com/item?id=3948727 (hackernews)
    - j’ai trouve les developpeurs de node tres mesures et professionnels et Tim Fox un peu agressif, sans doute le stress de la « mise en prod » seul contre tous :)
    - les commentaires revelent que la difference de performance entre vertx et node sur le test « envoi de fichier » est liee au fait que java et l’os « cachent » le fichier alors que node le lit a chaque fois (facilement corrigeable)
    - il y a un souci de performance sur le load balancer node.js (node.js etant monothread, il faut lancer plusieurs instances, une par core, et faire tourner le load balancer pour utiliser tous les cores), ils avaient deja identifie le souci et travaillaient sur un fix

    Ces precisions permettent d’eviter les raccourcis « node.js sucks, JVM rulez », le benchmark est tres discutable et a surtout permis a Vert.x de faire le buzz. Bien joue! Ce qui n’enleve rien a l’interet suscite par les fonctionnalites de Vert.x citees dans l’article.

Laisser un commentaire