背景:我们继承了一个使用Tomcat Server NIO 连接器(带SSL)进行开发的Java 项目。项目安装程序在部署产品时将 Tomcat 安装为 Windows 服务。没有尝试在 server.xml 文件中配置 APR 连接器(使用 SSL)而不是 NIO 连接器,因为看起来 Tomcat 在开发和生产日志中都按预期执行。
这种做法危险吗?使用两个 server.xml 文件,一个用于开发 (NIO) 一个用于生产 (APR) 不是更好吗?
最佳答案
在您的情况下,APR 和 NIO 连接器之间的主要区别在于您使用的是 SSL。 APR 的 SSL 配置使用 OpenSSL,而 NIO 连接器使用 Java 自己的 JSSE。
在负载非常高的环境中,您可能会看到使用 APR+OpenSSL 提高应用程序的 HTTPS 保护部分的速度,但是 NIO 在大量并发连接时表现非常好。
与您的应用程序使用的 CPU 周期相比,SSL 解码/解密通常只占工作的很小一部分。
如果它表现良好,那很好。在生产中使用 NIO+SSL 当然没有危险。
关于java - 使用 NIO 将 Tomcat 服务器作为 Windows 服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10506287/