日期:2014-05-16  浏览次数:20762 次

使用Apache+tomcat比单独使用tomcat能带来什么样的好处及坏处

单独使用的优点:配置方便、安全漏洞少(比如利用大小写的JSP下载)
那什么情况下需要使用apache+tomcat呢?来分析一下
1、负载均衡
如果你需要负载均衡的话,apache+tomcat+modjk是一个选择,利用它,你可以把应用服务器拆分成多个服务器,比如:可以拆分成:
(1)、管理端应用服务器
(2)、客户端应用服务器
(3)、报表、打印服务器放在一台机器上
(4)、批量操作服务器放在一个地方(比如大量的对账调账)
(5)、甚至可以给每批客户一台服务器,比如不同的省
2、各种各样的web server功能
大家都知道,apache有无数的mod,这些mod提供着各种各样丰富的web功能,如果你需要这些功能,apache就是必不可少的选择
比如:
(1)虚拟主机
同一个ip要使用多个不同的域名,那么apache来帮你完成这个问题吧
(2)urlrewrite
3、快速相应性能
在快速响应上的优势apache可以说远远超过其它服务器,一台apache只做转发的话可以拖着无数的tomcat服务器来跑
4、对二进制文件的处理上
对于.jpg .css .js .html等的处理上,apache的性能远超过tomcat,可以把这些都配置给apache
5、对于请求的排队上
6、对于资源的占用上。
这里举个例子,比如应用服务开发用了open-session-in-view,那么在如果只用tomcat,在处理完成后要给客户端发送response的内容,如果网络很慢,这样应用服务器的session就会一直不关闭,一直等着,容易造成数据库connection过多,造成问题。相应的还有很多类似的资源占用问题
如果用apache+tomcat,因为apache和tomcat在同一个局域网,之间很快,所有的requese和response都是apache和tomcat交互,这部门不会出现上边的问题,而和最终客户都是apache和最终用户,apache不会占用这些资源,不会造成这类问题。

以上是一些常见的原因。