在过去的几天里,我一直在阅读 Vert.x 文档。我知道 Vert.x 是多语言、单线程、非阻塞 IO、模块化架构、高可扩展性。
tomcat 和 Vert.x 之间还有其他主要区别吗?
还有什么时候应该使用tomcat,什么时候应该使用Vert.x?
Tomcat 是一个 servlet 容器,因此它为您提供了一个平台,可帮助您开发和部署基于 HTTP 的应用程序,例如网站或 Web 服务。
相反,Vert.x 可以帮助您开发和部署任何类型的异步应用程序。的确,现代版本的 Tomcat 支持异步 servlet,但 Vert.x 带有大量用户友好的异步 API 以及其他优点:
我个人认为学习 Vert.x 非常有用。在工作中,我成功地重用了相同的知识来实现三种截然不同的产品:零拷贝超快 Redis 代理、JPA 支持的 REST API 和反应式单页 Web 应用程序。
看一下示例代码,它非常简单,样板代码接近于零。
还有一件事:你在哪里读到 Vert.x 是单线程的?这不是真的!Vert.x 有一个非常简洁的并发模型,可以确保所有内核都被平等地使用(再次与 Node.js 不同)。
享受!
Vert.x HTTP 服务器允许你同时监听多个端口。此外,如果您想将 HTTP 服务器与 http 客户端或其他任何东西结合起来,它的并发模型比任何基于线程池的方法都要好得多。它的性能也好得多。