【发布时间】:2014-03-12 12:50:47
【问题描述】:
好的,我在 wiki 上阅读了一篇小文章,其中稍微解释了 AJP。 基本上,该协议用于 Apache 和应用程序服务器之间的通信。 但为什么一开始就需要它呢?为什么不只使用普通的 http?
【问题讨论】:
标签: ajp
好的,我在 wiki 上阅读了一篇小文章,其中稍微解释了 AJP。 基本上,该协议用于 Apache 和应用程序服务器之间的通信。 但为什么一开始就需要它呢?为什么不只使用普通的 http?
【问题讨论】:
标签: ajp
似乎我正在寻找的答案是性能
【讨论】:
更具体地说,在 ehow 文章中并没有真正涵盖,在请求中解析 http 标头并在响应中创建它们有一些重要的开销。如果你在你的应用服务器前面使用了一个网络代理服务器,AJP 允许你跳过额外的解析,只在代理服务器和应用服务器之间传递有效的头文件表示。如果您使用 apache/mod_jk 到 tomcat,还有其他好处,例如简单的连接池和紧密集成。
客户端 代理 应用程序
对
客户端 代理 应用程序
【讨论】:
AJP (Apache Jserv Protocol) 基本上是一个binary protocol,它允许反向代理从 FE Web 服务器到 BE 应用程序服务器的请求,有效地传播所有需要的信息以使 Req-Res 流继续成功。 通常,AJP 用于使用粘性会话策略进行负载平衡:由于传输的标头数据,FE Web 服务器可以使用特定模块(如 mod_jk)在 BE 对应方上进行负载平衡。
使用AJP主要是因为:
毫无疑问,这是一个经过验证的解决方案,已经成熟了近 20 年:它已成功用于生产环境。
【讨论】:
mod_jk 早于在 Apache JServ(一个早已不复存在的产品)中使用 HTTP。从历史上看,mod_jk 提供了许多通过mod_proxy 不可用的功能。这些天来,这两种产品的功能大致达到了同等水平,所以动力确实是唯一让 AJP 保持高使用率的因素。