In den letzten Tagen habe ich vert.x-Dokumente gelesen. Ich weiß, dass vert.x mehrsprachig ist, Singlethreading, nicht blockierende E/A, modulare Architektur und hohe Skalierbarkeit.
Gibt es noch andere wesentliche Unterschiede zwischen Tomcat und vert.x?
Wann sollten wir Tomcat verwenden und wann vert.x verwenden?
Tomcat ist ein Servlet-Container und bietet Ihnen so eine Plattform, mit der Sie HTTP-basierte Anwendungen wie Websites oder Web-Services entwickeln und bereitstellen können.
Stattdessen hilft Ihnen Vert.x, beliebige asynchrone Anwendungen zu entwickeln und bereitzustellen. Es stimmt, dass moderne Tomcat-Versionen asynchrone Servlets unterstützen, Vert.x verfügt jedoch über eine weitaus größere Anzahl benutzerfreundlicher asynchroner APIs sowie andere Vorteile:
Ich persönlich finde es sehr nützlich, Vert.x zu lernen. Bei der Arbeit habe ich dieses Wissen mit großem Erfolg verwendet, um drei sehr unterschiedliche Produkte zu realisieren: einen ultraschnellen, nullkopierbaren Redis-Proxy, eine mit JPA unterstützte REST-API und eine reaktive einseitige Webanwendung.
Schauen Sie sich den Beispielcode an , es ist ziemlich geradlinig und die Boilerplate ist nahe bei Null.
Noch etwas: Wo haben Sie gelesen, dass Vert.x Single-Thread ist? Es ist nicht wahr! Vert.x hat ein sehr sauberes Parallelitätsmodell , das sicherstellt, dass alle Kerne gleichermaßen verwendet werden (im Gegensatz zu Node.js).
Genießen!
Mit dem Very.x HTTP-Server können Sie viele Ports gleichzeitig abhören. Das Parallelitätsmodell ist viel besser als jeder auf einem Threadpool basierende Ansatz, wenn Sie Ihren HTTP-Server mit dem HTTP-Client b oder einem anderen Element kombinieren möchten. Die Leistung ist auch viel besser.