Sự khác biệt giữa HAProxy và Ngnix trong chế độ proxy ngược là gì?


Câu trả lời:


5

Cập nhật 2019:

Họ đều là những sản phẩm ổn định và trưởng thành. HAProxy được dành riêng để cân bằng tải và tốt hơn ở đó, trong khi nginx là một máy chủ web có thể hoạt động như một bộ cân bằng tải.

Cả hai:

  • Hỗ trợ HTTPS
  • Hỗ trợ websocket
  • Sản phẩm ổn định, trưởng thành và rất hiệu quả
  • Có thể xử lý các kết nối 10k với tối thiểu hoặc không điều chỉnh

HAProxy:

  • Cân bằng tải TCP, TCP-SSL, HTTP và HTTPS
  • Linh hoạt hơn về kiểm tra sức khỏe và điều kiện chuyển đổi dự phòng
  • Bộ nhớ đệm cơ bản (v1.8 - 2017)
  • Định dạng nhật ký có thể tùy chỉnh, để nhập nhật ký truy cập vào kibana / splunk / Graylog
  • Trang trạng thái chi tiết, để xem các yêu cầu hoạt động và trạng thái máy chủ
  • Số liệu có thể xuất, để tích hợp với các giải pháp giám sát (than chì / prometheus / datadog)
  • Định hướng hiệu suất cao hơn. Được chỉ định tốt hơn để xử lý các kết nối 100k hoặc giao diện 40 GbE.

Nginx:

  • Cân bằng tải HTTP và HTTPS (TCP - UDP trong phiên bản trả phí)
  • Linh hoạt hơn về bộ nhớ đệm
  • Định dạng nhật ký có thể tùy chỉnh, để nhập nhật ký truy cập vào kibana / splunk / Graylog
  • Không có trang trạng thái (chỉ phiên bản trả phí)
  • Không có số liệu có thể xuất khẩu (chỉ phiên bản trả phí)
  • Có thể phục vụ các tập tin cục bộ
  • Có thể phục vụ các ứng dụng FastCGI (không phải CGI)

HAProxy là một phần mềm miễn phí, nguồn mở hoàn toàn. Họ kiếm tiền bằng cách bán thiết bị phần cứng với HAProxy được cài đặt sẵn.

Nginx là lõi mở và nhiều tính năng chỉ có trong phiên bản trả phí. Đáng chú ý, nó thiếu một trang trạng thái và theo dõi các số liệu là KHÔNG CÓ lớn để vận hành bộ cân bằng tải.


42

HAProxy thực sự chỉ là một bộ cân bằng tải / proxy ngược. Nginx là một Máy chủ web cũng có thể hoạt động như một proxy ngược.

Dưới đây là một số khác biệt:

HAProxy:

  • TCP cũng như proxy HTTP (SSL được thêm từ 1,5-dev12)
  • Nhiều lựa chọn giới hạn tỷ lệ
  • Tác giả trả lời các câu hỏi ở đây trên Server Fault ;-)

Nginx :

  • Hỗ trợ SSL trực tiếp
  • Đây cũng là một máy chủ lưu trữ

Tại Stack Overflow, chúng tôi chủ yếu sử dụng HAProxy với nginx để giảm tải SSL vì vậy HAProxy là đề xuất của tôi.


11

Tôi sử dụng nginx để bảo vệ HAProxy, nhưng chỉ để chấm dứt SSL.

HAProxy là một bộ cân bằng tải dễ điều chỉnh và dễ quản lý hơn nhiều (theo kinh nghiệm của tôi).

Tôi cũng kết hợp Varnish cho bộ nhớ đệm đối tượng tĩnh. (như một phần phụ trợ cụ thể của HAProxy)

Xem câu hỏi Lỗi máy chủ này để biết thêm. Đặt hàng nginx / véc ni / haproxy


3
Các bản dựng không ổn định mới nhất (tháng 9 năm 2012) của HAProxy hiện hỗ trợ SSL. (có khả năng loại bỏ nhu cầu chạy nginx của tôi)
Joel K

5

Nếu chỉ cần cho cân bằng tải HA proxy là tốt hơn. Nhưng việc kết hợp cả nginix và HA proxy có thể hữu ích hơn, vì nginix cung cấp nội dung tĩnh nhanh chóng, nó sẽ phục vụ tất cả các yêu cầu về dữ liệu tĩnh và sau đó gửi tất cả yêu cầu tới HA proxy để phục vụ như bộ cân bằng tải và gửi yêu cầu đến máy chủ web để phục vụ yêu cầu bằng cách cân bằng tải.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.