Ưu điểm của việc sử dụng Nginx hoặc HA Proxy làm Trình cân bằng tải


9

Trong môi trường của chúng tôi, chúng tôi, cả Nginx và HA Proxy trên các cụm khác nhau. Có lợi thế của việc sử dụng cái này hơn cái kia không?

Hoặc, cách tốt nhất để đi về cân bằng tải cụm máy chủ LAMP cơ bản là gì?

Câu trả lời:


8

(Tôi sẽ không đi vào "cách tốt nhất để cân bằng tải", vì đó rõ ràng là tình huống cụ thể.)

Cả HAProxy và nginx đều là những lựa chọn tuyệt vời cho các bộ cân bằng tải HTTP nguồn mở trên Unix. Ở cấp độ rất cao, những ưu và nhược điểm xuất hiện đầu tiên là IMHO:

nginx:

  • Có thể giảm tải SSL (thường là một biggie).
  • Có một bộ mô-đun xử lý nội dung phong phú, tức là viết lại tiêu đề, nén nội dung, v.v.
  • Đôi khi có thể là 'HTTPd duy nhất bạn cần', giúp việc quản trị trở nên đơn giản hơn nếu bạn không cần bất kỳ HTTPd nào khác.
  • Mở rộng hơn với các plugin, fx để định tuyến lưu lượng.

HAProxy:

  • Có thể cung cấp hiệu suất máy chủ đơn cao hơn nginx (đặc biệt là khi chạy ở chế độ TCP, 10gbit / s đã được chứng minh ).
  • IMHO đơn giản hơn để khởi động và chạy cho các thiết lập cân bằng tải HTTP đơn giản cơ bản.
  • Thay đổi ít hơn một chút, đặc biệt là các nhánh ổn định cũ hơn một chút thường đi trong một thời gian mà không cần cập nhật bảo mật và ổn định.

Nhưng như đã nói, cả hai đều là lựa chọn tuyệt vời. Chọn một trong những bạn cảm thấy thoải mái nhất.


1
Nén là một điểm cộng lớn cho nginx nên cuối cùng tôi đã đi: haproxy + nginx để có chuyển đổi dự phòng đơn giản (haproxy) và nén gzip (nginx).
Alexis Lê-Quôc

2

Điều đó thực sự phụ thuộc vào những gì bạn muốn làm.

Nginx có thể phân chia tải giữa các cụm, cũng như định tuyến các miền cụ thể đến các cụm khác nhau. Hiệu suất nginx của chúng tôi đã được thỏa đáng. Nó giống như một bộ định tuyến tải.

Đối với haproxy tôi biết nó truy vấn trạng thái máy chủ liên tục và sẽ kiểm tra máy chủ trước khi hướng lưu lượng truy cập đến nó. Nó cũng có một giao diện nơi bạn có thể xem số liệu thống kê. nginx tôi không nghĩ làm điều này trên một trong hai điểm.


1

Chúng tôi sử dụng nginx như một máy chủ web và rất hài lòng với nó. Tôi sẽ không bao giờ quay trở lại Apache. Nhược điểm là nếu bạn có ý định chạy PHP; nó đòi hỏi một số trò đùa hóc búa để làm cho nó hoạt động theo fastCGI.

Đừng quên đặt Varnish vào vị trí cho bộ nhớ đệm! Bước đơn giản đó giải quyết rất nhiều vấn đề của các trang web bị Slashdiated / Fireballed!


0

Tôi không phải là chuyên gia về vấn đề này, nhưng theo tôi biết HAProxy có hiệu suất tốt hơn và có thể cấu hình nhiều hơn trong cách cân bằng tải.

Bây giờ tôi có thể đưa ra một danh sách so sánh và điểm chuẩn cho bạn nhưng tôi sẽ chỉ liên kết các kết quả google thay vì https://encrypted.google.com/search?q=nginx+vs+haproxy

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.