Play Framework如何使部署比传统Java框架运行速度更快的Web应用程序成为可能?

ace*_*ace 1 playframework

Play Framework不遵循Java Servlet规范.我试图了解如何使用Play Framework开发的Web应用程序运行速度比使用Struts或Spring MVC开发相同的应用程序时更快?

如果我在Tomcat下部署Play框架开发的应用程序而不是使用Netty,它会如何影响性能?

Der*_*est 6

玩!不仅仅是像Struts或Spring这样的框架,您还可以将其视为应用程序可以运行的环境.

你可以部署Play!像Tomcat这样的J2EE容器中的应用程序,但是你不必这样做,因为Play捆绑了Netty,它用作Web服务器.

作为一个容器,玩!与Tomcat的不同之处在于:

  1. 它是无状态的,因此它不会为每个连接创建一个会话.根据您的应用程序,这可能会带来一些性能优势.

  2. 它通过continuation支持异步I/O,而不是遵循标准的servlet容器每个请求的每个请求模型,使用更小的线程池来处理所有并发请求.这可能允许您更有效地扩展应用程序,但它需要一种不同于普通servlet容器中的编程方法.

这是我能想到的两件事Play!与可能对运行时性能产生影响的标准servlet规范方式不同,可能会有更多,这一切都取决于应用程序的性质,这些方面是否对您有所帮助.

至于你的第二个问题,关于捆绑Play应用程序并在Tomcat下部署它们,你会发现这会导致整体性能下降,因为这会增加很多不需要的开销.