什么是AJP协议?

时间:2014-02-13 14:57:32

标签: ajp

好的,我已经阅读了一篇关于维基的小文章,该文章对AJP进行了一些解释。 基本上,此协议用于Apache和应用程序服务器之间的通信。 但是为什么人们可能首先需要它呢?为什么不使用普通的http?

3 个答案:

答案 0 :(得分:37)

更具体地说,并没有在ehow文章中真正涵盖,解决请求上的http标头并在响应上创建它们有一些非常重要的开销。如果您使用Web代理服务器面向您的应用服务器,AJP允许您跳过额外的解析,并只传递代理服务器和应用服务器之间的头的高效二进制表示。如果您将apache / mod_jk用于tomcat,那么简单连接池和紧密集成等功能还有其他好处。

客户< - http / s->代理< - http / s - >应用

VS

客户< - http / s->代理< - AJP - >应用

答案 1 :(得分:20)

AJP (Apache Jserv Protocol)基本上是binary protocol,允许将FE Web服务器的代理请求转发到BE应用服务器,有效传播所有需要的信息,使Req-Res流程成功继续。 通常,AJP用于使用粘性会话策略进行负载平衡:由于传输的头数据,FE Web服务器可以使用特定模块(如mod_jk)对BE对应物进行负载平衡。

AJP的使用主要是因为:

  1. 它比任何HTTP交换更高效,
  2. 它与广泛使用的反向代理模块(即mod_jk,mod_proxy)集成,
  3. Tomcat的实现提供了一组丰富的协议横向API:HTTP(s)数据可以无缝传播,并且可以通过简单的API调用(规范的getXYX(),非常有效和即时)进行检索,因此就像使用它一样HTTP的速度更快。
  4. 当然,我认为这是一个经过验证的解决方案,已经成熟了近20年:它已成功应用于生产环境。

答案 2 :(得分:7)

似乎我正在寻找的答案是性能

http://www.ehow.com/facts_7181755_ajp-protocol_.html