首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mod_proxy对mod_proxy_ajp对mod_jk

mod_proxy对mod_proxy_ajp对mod_jk
EN

Server Fault用户
提问于 2010-09-17 12:44:42
回答 1查看 12.8K关注 0票数 9

我们正在为从以下环境移徙做准备:

Apache 2.0.2 -AJP-> JBoss4.2.2

Apache2.2.3-??-> JBoss 5.1.0

你怎么把这两个人连在一起?

备选方案有:

  1. 经典AJP (意为为Apache构建mod_jk )
  2. mod_proxy (将HTTP请求转发给JBoss)
  3. mod_proxy_ajp

选项2是目前最流行的解决方案,因为它似乎意味着更少的处理,因为不再需要转换JBoss来自AJP的响应,CPU时间是我们需要密切关注的基础设施。选项2和3还附带了Red支持的Apache构建。

目前,我无法看到我们选择1,因为我们得到的AJP‘免费’与选项3。

因此,备选方案2和3的利弊是什么?对CPU负载的关注真的是我们需要担心的吗?我们在处理二进制数据(AJP流量)时损失了什么?我们会在减少带宽和IO的情况下恢复吗?

我们的基础设施将在同一台RHEL 5机器上,在私有云中虚拟化的同一台RHEL 5机器上,面对多达9个调优的JBosses (但通常是大约一半)。

提前感谢您的指点/建议。

富足

EN

回答 1

Server Fault用户

回答已采纳

发布于 2010-09-17 17:11:14

2 mod_proxy_http,除非您需要客户端的主机头。

我不推荐经典的mod_jk,因为它的功能已经被mod_proxy_ajp取代了,正如您自己说的,它需要自己构建和维护该模块。

我认为mod_proxy_http是一个非常干净的解决方案,它使ajp脱离了现实。但是,您应该知道一些从ajp迁移到http的警告。如果您需要访问与apache (包括header)完全相同的服务器头,则应该使用ajp。JBoss将看到来自apache的新http请求,而不是原始客户端。如果您只需要客户端的远程IP,则仍然可以使用apache可以在新请求上设置的特殊头来获得此消息。但是,如果您正在从应用程序层进行虚拟托管,那么使用ajp会更好。

就性能而言,无论是ajp还是http,都需要JBoss和一些本地套接字TCP流量进行一些处理。您必须尝试这两种方法,看看哪种方法更有效,但我认为总的来说,这在服务器总负载中所占的百分比非常小。Http是一个更复杂的协议,ajp是专门为在web和应用程序层之间高效设计的,所以理论上ajp可能更好。尽管如此,我发现除了Tomcat应用服务器之外,http通常得到更好的支持。

我使用mod_proxy_ajp和mod_proxy_http,我没有任何问题。

票数 8
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/182289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档