什么是AJP协议?

use*_*356 46 ajp

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

Ian*_*wan 40

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

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

VS

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

  • 除了较短的标头和单个连接之外,还有其他区别吗?HTTP2 中实现了相同的功能,因此我们可以使用它来代替 AJP13 (2认同)

Pao*_*sca 23

AJP(Apache Jserv 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上使用HTTP一样.更高的速度.

当然,我认为这是一个经过验证的解决方案,已经有近20年的成熟经验:它已成功应用于生产环境.


use*_*356 7

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

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