Apa perbedaan antara HAProxy dan Ngnix dalam mode proxy terbalik?

Jawaban:

5

Pembaruan 2019:

Keduanya adalah produk yang stabil dan matang. HAProxy didedikasikan untuk load balancing dan lebih baik dalam hal itu, sedangkan nginx adalah server web yang dapat bertindak sebagai penyeimbang beban.

Kedua:

  • Dukungan HTTPS
  • Dukungan websocket
  • Produk stabil, matang dan sangat efisien
  • Dapat menangani koneksi 10k dengan tuning minimal atau tanpa tuning

HAProxy:

  • TCP, TCP-SSL, HTTP dan HTTPS load balancing
  • Lebih banyak fleksibilitas dalam pemeriksaan kesehatan dan kondisi kegagalan
  • Caching dasar (v1.8 - 2017)
  • Format log yang dapat disesuaikan, untuk mengimpor log akses ke kibana / splunk / graylog
  • Halaman status terperinci, untuk melihat permintaan aktif dan status server
  • Metrik yang dapat diekspor, untuk diintegrasikan dengan solusi pemantauan (graphite / prometheus / datadog)
  • Lebih berorientasi pada kinerja tinggi. Lebih baik diindikasikan untuk menangani koneksi 100k atau antarmuka 40 GbE.

Nginx:

  • Penyeimbangan beban HTTP dan HTTPS (TCP - UDP dalam edisi berbayar)
  • Lebih banyak fleksibilitas pada caching
  • Format log yang dapat disesuaikan, untuk mengimpor log akses ke kibana / splunk / graylog
  • Tidak ada halaman status (hanya edisi berbayar)
  • Tidak ada metrik yang dapat diekspor (hanya edisi berbayar)
  • Dapat melayani file lokal
  • Dapat melayani aplikasi FastCGI (bukan CGI)

HAProxy adalah perangkat lunak gratis, sumber sepenuhnya terbuka. Mereka menghasilkan uang dengan menjual alat perangkat keras dengan pra-instal HAProxy.

Nginx adalah open core dan banyak fitur hanya tersedia dalam edisi berbayar. Khususnya, ini tidak memiliki halaman status dan metrik pemantauan yang merupakan NO besar untuk mengoperasikan penyeimbang beban.

pengguna5994461
sumber
42

HAProxy benar-benar hanya penyeimbang beban / proxy terbalik. Nginx adalah server Web yang juga dapat berfungsi sebagai proxy terbalik.

Berikut ini beberapa perbedaan:

HAProxy:

  • Apakah TCP serta proksi HTTP (SSL ditambahkan dari 1.5-dev12)
  • Opsi pembatasan tingkat lainnya
  • Penulis menjawab pertanyaan di sini di Server Fault ;-)

Nginx :

  • Mendukung SSL secara langsung
  • Juga merupakan server caching

Di Stack Overflow, kami terutama menggunakan HAProxy dengan nginx untuk SSL offloading sehingga HAProxy adalah rekomendasi saya.

Kyle Brandt
sumber
11

Saya menggunakan nginx untuk mem-frontend HAProxy, tetapi hanya untuk terminasi SSL.

HAProxy adalah penyeimbang beban yang jauh lebih mudah diatur dan dikelola (menurut pengalaman saya).

Saya juga menggabungkan Varnish untuk caching objek statis. (sebagai backend spesifik HAProxy)

Lihat pertanyaan Kesalahan Server ini untuk info lebih lanjut. Memesan nginx / pernis / haproxy

Joel K
sumber
3
Bangunan HAProxy terbaru (September 2012) yang tidak stabil sekarang mendukung SSL. (berpotensi menghapus kebutuhan saya untuk menjalankan nginx)
Joel K
5

Jika diperlukan hanya untuk load balancing proksi HA lebih baik. Tetapi menggabungkan nginix dan proksi HA dapat lebih bermanfaat, karena nginix cepat dalam menyediakan konten statis, ini akan melayani semua permintaan untuk data statis dan kemudian mengirim semua permintaan ke proksi HA yang berfungsi sebagai penyeimbang beban dan mengirim permintaan ke server web untuk melayani permintaan dengan menyeimbangkan beban.

Mitesh
sumber