Apache ke tomcat: mod_jk vs mod_proxy

108

Apa keuntungan dan kerugian menggunakan mod_jkdan mod_proxyuntuk menjalankan instance tomcat dengan apache?

Saya telah menggunakan mod_jk dalam produksi selama bertahun-tahun tetapi saya mendengar bahwa itu "cara lama" dari fronting tomcat. Haruskah saya mempertimbangkan untuk berubah? Apakah ada manfaatnya?

cherouvim
sumber
1
Kami mengalami lebih banyak masalah dengan semua mod_proxy_*varian dan mod_jkberhasil digunakan dalam produksi, untuk Tomcat (5.5, 6, 7) dan JBoss / WildFly.
mirabilos

Jawaban:

89

Ada perbandingan pro / kontra untuk modul tersebut 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
sumber
2
Bagaimana jika Anda menggunakan Apache 2.0?
blak3r
11
Saya menemukan entri blog ini tomcatexpert.com/blog/2010/06/16/… bermanfaat.
CodeReaper
"Perlu membangun dan memelihara modul terpisah" itu dikirimkan dengan apache sehingga Anda tidak perlu membangun sesuatu ...
Yura
1
@yura - Itu mungkin tergantung pada versi OS Anda. Centos 7.x tampaknya tidak memiliki modul yang tersedia dan tidak tersedia secara default di apache 2.4: httpd.apache.org/docs/2.4/mod
runamok
1
Lihat secara khusus wiki.apache.org/tomcat/FAQ/Connectors#Q7 yang @ daniel-serodio direferensikan ... Di mana saya dapat mengunduh distribusi biner konektor saya? Anda tidak bisa: Anda perlu mengunduh sumber dan mengkompilasinya untuk platform Anda.
runamok
28

Jika Anda ingin tetap menggunakan Apache land, Anda juga dapat mencoba mod_proxy_ajp yang lebih baru , yang menggunakan protokol AJP untuk berkomunikasi dengan Tomcat alih-alih HTTP lama biasa, tetapi yang memanfaatkan mod_proxy untuk melakukan pekerjaan itu.

Vinko Vrsalovic
sumber
Terima kasih. Tapi tahukah Anda apa yang proxy_ajp tawarkan lebih dari jk?
cherouvim
2
Ya, semua kontrol dan (relatif) kemudahan konfigurasi mod_proxy, dengan keunggulan kecepatan dari protokol AJP (daripada menggunakan HTTP)
Vinko Vrsalovic
2
AJP menggunakan format biner sehingga secara teori, AJP akan memberikan kinerja yang lebih baik. Saya belum pernah menguji kinerja AJP vs HTTP proxying.
Taylor Leese