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