Tomcat vs Vert.x

2022-09-01 13:02:39

在过去的几天里,我一直在阅读Vert.x文档。我知道Vert.x是多语言,单线程,非阻塞IO,模块化架构,高可扩展性。

tomcat 和 Vert.x 之间还有其他主要区别吗?

另外,我们什么时候应该使用tomcat,什么时候使用Vert.x?


答案 1

Tomcat是一个servlet容器,因此它为您提供了一个平台,可帮助您开发和部署基于HTTP的应用程序,如网站或Web服务。

相反,Vert.x 可以帮助您开发和部署任何类型的异步应用程序。确实,现代版本的Tomcat支持异步servlet,但Vert.x附带了大量用户友好的异步API以及其他优点:

  • 完整的文件系统异步 API
  • TCP(服务器和客户端)
  • UDP(服务器和客户端)
  • HTTP(S)(服务器和客户端)
  • 共享数据服务(在多语言模块之间共享对象)
  • 高可用性和集群
  • 群集范围的消息传递(事件循环)
  • 事件总线桥(通过 SockJS 将事件循环扩展到浏览器)
  • 不断增长的 Vert.x 模块生态系统
  • 在遗留代码中嵌入 Vert.x 的可能性
  • 利用现有丰富而可靠的Java库生态系统(Vert.x在JVM上运行,与Node.js不同)

就个人而言,我认为学习Vert.x非常有用。在工作中,我重用了相同的知识,并取得了巨大的成功,实现了三个非常不同的产品:零拷贝超快Redis代理,JPA支持的REST API和反应式单页Web应用程序。

看看示例代码,它非常简单,样板接近于零。

还有一件事:你在哪里读到Vert.x是单线程的?这不是真的!Vert.x有一个非常整洁的并发模型,可以确保所有内核都被平等使用(同样,与Node.js不同)。

享受!


答案 2

Vert.x HTTP服务器允许您同时监听多个端口。此外,如果您想将HTTP服务器与http客户端或其他任何东西结合起来,它的并发模型比任何基于线程池的方法要好得多。它的性能也要好得多。


推荐