web-dev-qa-db-fra.com

Tomcat vs Vert.x

Depuis quelques jours, je lis des documents vert.x. Je sais que vert.x est polyglotte, à un seul thread, des entrées/sorties non bloquantes, une architecture modulaire, une grande extensibilité. 

Existe-t-il d'autres différences majeures entre Tomcat et vert.x?

Aussi, quand faut-il utiliser Tomcat et quand utiliser vert.x?

24
Ronald Randon

Tomcat est un conteneur de servlets. Il vous offre donc une plate-forme qui vous aide à développer et à déployer des applications basées sur HTTP telles que des sites Web ou des services Web.

Vert.x vous aide plutôt à développer et déployer tout type d’applications asynchrones. Il est vrai que les versions modernes de Tomcat prennent en charge les servlets asynchrones, mais Vert.x est livré avec un nombre beaucoup plus important d’API asynchrones conviviales et d’autres avantages:

  • API asynchrone complète du système de fichiers
  • TCP (serveur et client)
  • UDP (serveur et client)
  • HTTP (S) (serveur et client)
  • Service de données partagées (objets de partage entre modules polyglottes)
  • HA et clustering
  • Messagerie à l'échelle du cluster (boucle d'événement)
  • Pont de bus d'événements (extension de la boucle d'événements aux navigateurs via SockJS)
  • Un écosystème croissant de modules Vert.x
  • Possibilité d'intégrer Vert.x dans le code hérité
  • Exploitation de l'écosystème riche et solide des bibliothèques Java existantes (Vert.x s'exécute sur la machine virtuelle Java, contrairement à Node.js)

Personnellement, je pense que l’apprentissage de Vert.x est très utile. Au travail, j'ai utilisé avec succès les mêmes connaissances pour réaliser trois produits très différents: un proxy Redis ultra-rapide sans copie, une API REST soutenue par JPA et une application Web réactive d'une page.

Jetez un coup d'œil au exemple de code , c'est assez simple et le passe-partout est proche de zéro.

Une dernière chose: où avez-vous lu Vert.x est à thread unique? Ce n'est pas vrai! Vert.x a un modèle de concurrence très soigné qui assure que tous les cœurs sont utilisés de la même manière (encore une fois, contrairement à Node.js). 

Prendre plaisir!

36
sscarduzio

Le serveur HTTP Very.x vous permet d'écouter plusieurs ports en même temps. Et son modèle de simultanéité est bien meilleur que toute approche basée sur un pool de threads si vous souhaitez combiner votre serveur HTTP avec le client http b ou autre chose. Sa performance est également bien meilleure.

0
Michael P