Vert.x
Tests & Comparaisons
Comparaisons avec Node.js
- 1) Un seul langage (Javascript)
Vert.x est Polyglotte
- 2) Scaling vertical
Vert.x tourne sur la JVM, naturellement multi-threadé
- 3) Communication inter-processus
Vert.x utilise un event bus et un modèle de cluster intégré
- 4) Event loop
Vert.x utilise le Multi-Reactor Pattern et utilise des workers
Tim Fox veut que Vert.x utilise non pas un patron de conception Reactor simple mais "Multi-Reactor". En effet, le principe reste le même mais avec plusieurs réacteurs sont utilisés en simultané (par défaut un par core CPU) afin d’augmenter le nombre de traitements en parallèle. De plus, les fameux workers sont utiles pour différencier d'un simple verticle et permettent de gérer des opérations bloquantes ou encore pour gérer des traitements assez longs.
Benchmarks

Benchmarks Node.js vs Vert.x
Test 1 : Le serveur retourne une réponse 200-OK à chaque requête. Les tests effectués sont en J, R, G et JS avec un serveur tournant avec 6 event loops comparé à node.js. Puisque qu'un serveur node.js n'a qu'un seul event loop, on a également simulé 6 serveurs node.js via un module cluster.
Résultat : Un seul serveur Vert.x surpasse 1 serveur node.js, de même pour son cluster de 6 instances node.js
Test 2 : On sert un petit fichier statique. On reproduit la même simulation d'un serveur Vert.x avec 6 event loops comparé à un serveur node.js avec 1 event loop et 6 serveurs node.js via un module cluster.
Résultat : Encore une fois, un seul serveur vert.x surpasse un serveur et 6 instances node.js