Vert.x

Architecture

Exemple d'utilisation

Le but de Vert.x est de pouvoir gérer beaucoup de connexions en parallèle. Or nous l’avons vu, le patron réacteur limite le nombre de threads et donc de traitements possibles dans une instance de Vert.x.


Architecture de Vert.x et exemple d'une application

Voici l'exemple d'une application Web nécessitant la communication avec un navigateur Web avec l'utilisation des WebSockets et d'une base de données MongoDB, ces liaisons sont reliées avec les modules correspondant dans Vert.x

Aller plus loin - une montée en charge


Architecture de Vert.x et exemple d'une application

  • Lancer plusieurs instances Vert.x
  • Sur des JVM séparées et/ou machines différentes !
  • Configuration nécessaire pour que le cluster se mette en place
  • Exemple : P2P Messaging System
  • Vert.x doit obligatoirement gérer des connexions simultanées, le bus événementiel est distribué (entre les instances Vert.x qui supportent un mode cluster).

    Si on lance plusieurs instances de Vert.x, il faudra faire une montée en charge. le bus évènementiel (event bus) est distribué et permet de transférer les évènements d’une instance à une autre, de même si elles sont dans des JVM séparées et/ou sur des machines différentes. Évidemment, une configuration est nécessaire pour que le cluster se mette en place et puisse communiquer.

    De plus, le serveur HTTP se base sur le framework Netty et est donc extrêmement efficace pour gérer de nombreuses connexions simultanées.