java - 我应该使用 tomcat 还是应用程序服务器?
问题描述
我将开始开发一个可供 20-30 个用户同时访问的 Web 应用程序。我将使用 2gb(ram) 服务器和 tomcat 来降低内存消耗。Tomcat 可以在没有 Java EE 实现的情况下解决我的问题并提供良好的性能应用程序吗?由于我的记忆力小,我不想使用 JPA、CDI 和其他东西。
解决方案
Tomcat 是一个应用服务器
Apache Tomcat确实是一个应用服务器,它提供了包含在其他服务器中的一小部分技术。
Tomcat 实现了几个Java EE(现在称为Jakarta)规范,包括:
Tomcat 还包括Coyote,这是一种高性能 HTTP Web 服务器。
对于许多人来说,这些技术就是他们部署 Web 应用程序所需的全部。如果你只需要一辆Vespa,就不要买哈雷。
选择'n'混合
如果您需要在 Java EE / Jakarta 中定义的某些特定框架,您通常可以为该部分添加一个库,而无需其他所有部分。如果你的内存很紧,这种方法比安装另一个加载比你需要的框架多得多的应用程序服务器要好。
备择方案
如果您喜欢 Tomcat,并希望捆绑更多 Java EE / Jakarta 功能以方便使用,请考虑使用Apache TomEE。不及其他应用服务器中包含的更多库,但可能拥有您所需要的一切。
Apache Tomcat 的一个紧密竞争对手是Eclipse Jetty,这是另一个专注于 Servlet/JSP 功能的最小应用程序服务器。Tomcat 和 Jetty 都构建良好,受到积极支持,并且非常受欢迎。
推荐阅读
- r - R中多个LASSO回归的“lambda.min”值不变
- aspnetboilerplate - AspNet 样板:Hangfire 队列
- typescript - 为什么在这种特定情况下使用映射类型会解析为联合?
- java - Eclipse 无法识别 Confluent jar
- .net - 在 Zebra ZXP 系列 3 打印机中打印条形码
- html - 如何设置下载链接的文件名?
- azure - Azure DevOps:无法再在项目设置中看到扩展
- linux - 为什么非 pic 代码不能使用运行时修复完全成为 ASLR?
- android - Android TextInputLayout 在 RecyclingView 内缓慢渲染
- c++ - 为什么我不能使用 std::next_permutation 生成所有排列?