apache to tomcat:mod_jk vs mod_proxy

时间:2009-07-04 10:07:08

标签: apache tomcat mod-proxy mod-jk

使用mod_jkmod_proxy在使用apache前端tomcat实例时有哪些优点和缺点?

我已经在生产中使用mod_jk多年了,但我听说它是​​面向tomcat的“旧方式”。我应该考虑改变吗?会有什么好处吗?

4 个答案:

答案 0 :(得分:85)

http://blog.jboss.org/

上存在这些模块的优缺点比较

<强> mod_proxy的

* Pros:
      o No need for a separate module compilation and maintenance. mod_proxy,
        mod_proxy_http, mod_proxy_ajp and mod_proxy_balancer comes as part of 
        standard Apache 2.2+ distribution
      o Ability to use http https or AJP protocols, even within the same 
        balancer.
* Cons:
      o mod_proxy_ajp does not support large 8K+ packet sizes.
      o Basic load balancer
      o Does not support Domain model clustering

<强> mod_jk的

* Pros:
      o Advanced load balancer
      o Advanced node failure detection
      o Support for large AJP packet sizes
* Cons:
      o Need to build and maintain a separate module

答案 1 :(得分:27)

如果你想留在Apache的土地,你也可以尝试更新的mod_proxy_ajp,它使用AJP协议与Tomcat通信而不是普通的旧HTTP,但它利用mod_proxy来完成工作。

答案 2 :(得分:8)

答案 3 :(得分:1)

APJ与HTTP

使用mod_jk时,您正在使用APJ协议。使用mod_proxy时,将使用HTTP或HTTPS。这实际上就是使一切与众不同的原因。

Apache JServ协议(APJ)

Apache JServ协议(AJP)是一种二进制协议,可以将来自Web服务器的入站请求代理到位于Web服务器后面的应用程序服务器。 AJP是一个高度受信任的协议,永远不要暴露给不受信任的客户端,AJP可以使用它来访问敏感信息或在应用程序服务器上执行代码。[1]

优点
  • 易于设置,因为不需要正确转发http标头。
  • 由于HTTP数据包以二进制格式转发而不是进行昂贵的http交换,因此资源占用较少。
缺点
  • 协议未加密。仅应在受信任的网络内使用。

超文本传输​​协议(HHTP)

HTTP在客户端-服务器计算模型中充当请求-响应协议。例如,网络浏览器可以是客户端,而在托管网站的计算机上运行的应用程序可以是服务器。客户端向服务器提交HTTP请求消息。提供诸如HTML文件和其他内容之类的资源或代表客户端执行其他功能的服务器将响应消息返回到客户端。响应包含有关请求的完成状态信息,并且还可能在其消息正文中包含请求的内容。

好处
  • 可以使用SSL / TLS加密,使其适用于不受信任的网络之间的流量。
  • 它很灵活,因为它允许在转发之前修改请求。例如,设置自定义标题。
缺点
  • 更多开销,因为必须确保正确转发http标头。
  • 转发之前已完全解析了请求,因此会占用更多资源。