Apache an Tomcat: mod_jk vs mod_proxy

108

Was sind die Vor- und Nachteile der Verwendung mod_jk und das mod_proxyFronting einer Tomcat-Instanz mit Apache?

Ich benutze mod_jk seit Jahren in der Produktion, aber ich habe gehört, dass es "die alte Art" ist, Tomcat zu konfrontieren. Sollte ich eine Änderung in Betracht ziehen? Würde es irgendwelche Vorteile geben?

Cherouvim
quelle
1
Wir hatten mehr Probleme mit allen mod_proxy_*Varianten und der mod_jkerfolgreichen Verwendung in der Produktion, sowohl für Tomcat (5.5, 6, 7) als auch für JBoss / WildFly.
Mirabilos

Antworten:

89

Für diese Module besteht ein Vor- / Nachteile-Vergleich 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
quelle
2
Was ist, wenn Sie Apache 2.0 verwenden?
Blak3r
11
Ich finde diesen Blogeintrag tomcatexpert.com/blog/2010/06/16/… hilfreich.
CodeReaper
"Sie müssen ein separates Modul erstellen und warten" wird mit Apache geliefert, damit Sie nichts erstellen müssen ...
Yura
1
@yura - Das kann von Ihrer Betriebssystemversion abhängen. Centos 7.x scheint das Modul nicht verfügbar zu haben und es ist standardmäßig nicht in Apache 2.4 verfügbar: httpd.apache.org/docs/2.4/mod
runamok
1
Siehe insbesondere wiki.apache.org/tomcat/FAQ/Connectors#Q7, auf die @ daniel-serodio verwiesen hat ... Wo kann ich eine Binärdistribution meines Connectors herunterladen? Sie können nicht: Sie müssen die Quelle herunterladen und für Ihre Plattform kompilieren.
Runamok
28

Wenn Sie im Apache-Land bleiben möchten, können Sie auch das neuere mod_proxy_ajp ausprobieren , das das AJP-Protokoll für die Kommunikation mit Tomcat anstelle von einfachem altem HTTP verwendet, aber mod_proxy für die Arbeit nutzt.

Vinko Vrsalovic
quelle
Vielen Dank. Aber wissen Sie, was der proxy_ajp mehr als jk bieten würde?
Cherouvim
2
Ja, alle Steuerelemente und (relativ) einfache Konfiguration von mod_proxy mit den Geschwindigkeitsvorteilen des AJP-Protokolls (anstelle von HTTP)
Vinko Vrsalovic
2
AJP verwendet ein Binärformat, sodass theoretisch eine bessere Leistung erwartet wird. Ich habe AJP noch nie auf HTTP-Proxy getestet.
Taylor Leese