apache do tomcat: mod_jk vs mod_proxy

108

Jakie są zalety i wady używania mod_jki mod_proxyprzekazywania instancji Tomcat za pomocą apache?

Od lat używam mod_jk w produkcji, ale słyszałem, że jest to „stary sposób” kierowania kocurem. Czy powinienem rozważyć zmianę? Czy byłyby jakieś korzyści?

cherouvim
źródło
1
Mieliśmy więcej problemów ze wszystkimi mod_proxy_*wariantami i mod_jkpomyślnie używanymi w produkcji, zarówno dla Tomcata (5,5, 6, 7), jak i JBoss / WildFly.
mirabilos

Odpowiedzi:

89

Porównanie zalet / wad tych modułów istnieje w witrynie 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
źródło
2
A jeśli używasz Apache 2.0?
blak3r
11
Uważam, że ten wpis na blogu tomcatexpert.com/blog/2010/06/16/ ... jest pomocny.
CodeReaper,
„Trzeba zbudować i utrzymywać oddzielny moduł”, jest dostarczany z apache, więc nie trzeba niczego budować ...
Yura
1
@yura - to może zależeć od wersji systemu operacyjnego. Wydaje się, że Centos 7.x nie ma dostępnego modułu i nie jest on domyślnie dostępny w Apache 2.4: httpd.apache.org/docs/2.4/mod
runamok
1
W szczególności zobacz wiki.apache.org/tomcat/FAQ/Connectors#Q7 kto @ daniel-serodio odwołuje się do… Gdzie mogę pobrać binarną dystrybucję mojego łącznika? Nie możesz: musisz pobrać źródło i skompilować je dla swojej platformy.
runamok
28

Jeśli chcesz pozostać w krainie Apache, możesz również wypróbować nowszy mod_proxy_ajp , który używa protokołu AJP do komunikacji z Tomcat zamiast zwykłego starego HTTP, ale który wykorzystuje mod_proxy do wykonania pracy.

Vinko Vrsalovic
źródło
Dzięki. Ale czy wiesz, co proxy_ajp oferuje więcej niż jk?
cherouvim
2
Tak, wszystkie elementy sterujące i (względnie) łatwość konfiguracji mod_proxy, z zaletami szybkości protokołu AJP (zamiast używania HTTP)
Vinko Vrsalovic
2
AJP używa formatu binarnego, więc teoretycznie ma zapewnić lepszą wydajność. Jednak nigdy nie testowałem wydajności proxy AJP vs HTTP.
Taylor Leese