如果我使用Java中的Play Framework(使用Akka)开发REST服务并将其部署在Tomcat(非NIO或NIO)上而不是在嵌入式Netty服务器上运行,那么这种组合会产生什么影响?它的性能或其他标准是否与嵌入式Netty服务器中的相同?
答案 0 :(得分:1)
您使用它的方式是我们(核心游戏团队)在进行更改时不进行测试或真正考虑。小幅升级可能会破坏一切。
从异常支持的角度来看,Play的异步方法并不适合作为后续思维方法的servlet API。我怀疑表演会成为一个问题,虽然我从未见过基准。
Servlet规范对异步IO的支持是可悲的。一个带有一个衬垫注释的小接口。完全没有说明,没有关于如何处理边缘情况的指导,也没有关于并发方面的指导。我帮助实施了播放战争插件支持的评论/指导,发现的是码头,tomcat和glassfish在对规范的解释上都有很大的不同(当他们实施的方法只有一个衬垫时,你期望什么那天没有关于async IO的复杂语义的评论,这是Play的一个主要问题。
如果你没有使用Servlet 3.1容器,那么情况就更糟了,混合异步和同步IO,高负荷下的死锁将会比比皆是。
许多核心Play功能根本无法在servlet规范上实现。分块编码就是一个。
只有一些问题。