apache para tomcat: mod_jk vs mod_proxy

108

Quais são as vantagens e desvantagens de usar mod_jke mod_proxyenfrentar uma instância do tomcat com o apache?

Eu uso o mod_jk em produção há anos, mas ouvi dizer que é "o jeito antigo" de enfrentar o tomcat. Devo pensar em mudar? Haveria algum benefício?

Cherouvim
fonte
1
Tivemos mais problemas com todas as mod_proxy_*variantes e uso mod_jkna produção com sucesso, para Tomcat (5.5, 6, 7) e JBoss / WildFly.
mirabilos de

Respostas:

89

Uma comparação prós / contras para esses módulos existe em 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
Cherouvim
fonte
2
E se você estiver usando o Apache 2.0?
blak3r
11
Acho esta entrada de blog tomcatexpert.com/blog/2010/06/16/… útil.
CodeReaper de
"Precisa construir e manter um módulo separado" que vem com o apache, então você não precisa construir nada ...
Yura
1
@yura - Isso pode depender da versão do seu sistema operacional. Centos 7.x não parece ter o módulo disponível e não está disponível por padrão no apache 2.4: httpd.apache.org/docs/2.4/mod
runamok
1
Especificamente, consulte wiki.apache.org/tomcat/FAQ/Connectors#Q7 who @ daniel-serodio referenced ... Onde posso baixar uma distribuição binária do meu conector? Você não pode: você precisa baixar o código-fonte e compilá-lo para sua plataforma.
runamok de
28

Se você deseja permanecer na terra do Apache, também pode tentar o mod_proxy_ajp mais recente , que usa o protocolo AJP para se comunicar com o Tomcat em vez do HTTP antigo, mas que aproveita o mod_proxy para fazer o trabalho.

Vinko Vrsalovic
fonte
Obrigado. Mas você sabe o que o proxy_ajp ofereceria mais do que jk?
cherouvim
2
Sim, todos os controles e (relativamente) facilidade de configuração do mod_proxy, com os benefícios de velocidade do protocolo AJP (em vez de usar HTTP)
Vinko Vrsalovic
2
O AJP usa um formato binário, portanto, em teoria, é para fornecer um melhor desempenho. Eu nunca testei o desempenho do proxy AJP vs HTTP.
Taylor Leese