Apache для Tomcat: mod_jk vs mod_proxy

108

Каковы преимущества и недостатки использования mod_jkи mod_proxyвзаимодействия с экземпляром tomcat с помощью apache?

Я много лет использую mod_jk в производстве, но слышал, что это «старый способ» взаимодействия с tomcat. Стоит ли подумать об изменении? Будет ли польза?

cherouvim
источник
1
У нас было больше проблем со всеми mod_proxy_*вариантами и mod_jkуспешным использованием в продакшене как для Tomcat (5.5, 6, 7), так и для JBoss / WildFly.
mirabilos

Ответы:

89

Сравнение плюсов и минусов для этих модулей существует на 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
источник
2
Что делать, если вы используете Apache 2.0?
blak3r 05
11
Я считаю эту запись в блоге tomcatexpert.com/blog/2010/06/16/… полезной.
CodeReaper
«Необходимо создать и поддерживать отдельный модуль», он поставляется с apache, поэтому вам не нужно что-то строить ...
Юра
1
@yura - это может зависеть от версии вашей ОС. Похоже, что в Centos 7.x модуль недоступен, и он недоступен по умолчанию в apache 2.4: httpd.apache.org/docs/2.4/mod
runamok
1
В частности, см. Wiki.apache.org/tomcat/FAQ/Connectors#Q7, на который ссылается @ daniel-serodio ... Где я могу скачать двоичный дистрибутив моего коннектора? Вы не можете: вам нужно скачать исходный код и скомпилировать его для своей платформы.
runamok
28

Если вы хотите остаться в стране Apache, вы также можете попробовать более новый mod_proxy_ajp , который использует протокол AJP для связи с Tomcat вместо обычного старого HTTP, но который использует mod_proxy для выполнения работы.

Винко Врсалович
источник
Спасибо. Но знаете ли вы, что proxy_ajp может предложить больше, чем jk?
cherouvim 04
2
Да, все элементы управления и (относительно) простота настройки mod_proxy с преимуществами скорости протокола
AJP
2
AJP использует двоичный формат, поэтому теоретически предполагается, что он обеспечивает лучшую производительность. Я никогда не тестировал производительность AJP и HTTP-проксирования.
Тейлор Лиз,