Câu trả lời:
Theo tập 27 của podcast StackOverflow , các anh chàng Reddit thực sự có vẻ thích HAProxy . Đây là một hướng dẫn ngắn gọn cho thấy HAProxy đang được sử dụng với EC2 của Amazon . Bạn có thể tìm thấy nhiều thông tin hơn tại trang web HAProxy .
Câu hỏi không cung cấp thông tin cụ thể về tải, các tính năng cần thiết, v.v., vì vậy, bất kỳ câu trả lời nào cũng chỉ là phỏng đoán.
Pound là một lựa chọn tốt cho các trang web nhỏ / vừa. Nó cung cấp hỗ trợ HTTPS và thiết lập dễ dàng.
HAproxy có thể mở rộng thành các ống Ethernet 10G bão hòa và cung cấp giới hạn kết nối, tức là chỉ gửi số lượng yêu cầu đồng thời đến từng máy chủ phụ trợ khi bạn có các phiên bản Apache / Ruby on Rails để xử lý.
nginx là tuyệt vời như một bộ cân bằng tải toàn bộ và máy chủ tệp tĩnh. Nó có thể thực hiện nén HTTP, viết lại URL và phục vụ tệp tĩnh trong khi thực hiện cân bằng tải.
Apache cũng thuộc dòng 2.2, một bộ cân bằng tải khá tốt. Có thể làm nhiều việc giống như nginx, nhưng đặt tải trên máy chủ cao hơn nginx. Rất đáng để xem xét nếu bạn đã quen thuộc với Apache và rất chín chắn.
Perlbal cung cấp kết nối dễ dàng giới hạn các máy chủ phụ trợ, yêu cầu ghép kênh trên các kết nối HTTP liên tục và thiết lập dễ dàng nếu bạn đang sử dụng Perl.
Bộ nhớ cache Varnish là một proxy HTTP ngược, với hỗ trợ cân bằng tải cơ bản. Nó không phải là một bộ cân bằng tải tuyệt vời, nhưng trong một số trường hợp, bộ nhớ đệm trong bộ nhớ của hầu hết các đối tượng được yêu cầu có thể loại bỏ phần trăm cao các lần truy cập máy chủ phụ trợ và nó có hiệu suất tuyệt vời. ESI bao gồm có khả năng thú vị.
Tôi không chắc chắn 100%, nhưng ngoài đỉnh đầu Perlbal và nginx cung cấp một số hỗ trợ để thay đổi cấu hình mà không cần khởi động lại bộ cân bằng tải. Đối với các trang web lớn hơn, điều này rất quan trọng và đó là một trong những điều mà các thiết bị cân bằng tải thương mại tốt làm tốt.
Tất cả các bên trên là bộ cân bằng tải cấp độ HTTP (lớp 7). Bộ cân bằng tải cấp TCP / IP có khả năng đạt được thông lượng cao hơn, nhưng bị hạn chế theo những cách khác. Tác giả HAProxy đã viết một tổng quan tốt, dễ đọc về các phương pháp và vấn đề cân bằng tải: http://1wt.eu/articles/2006_lb/
LVS là một bộ cân bằng tải cấp TCP / IP được sử dụng rộng rãi. Hầu hết các tường lửa cũng có thể thực hiện cân bằng tải cơ bản ở cấp độ IP, bằng cách băm yêu cầu đến từ một loạt địa chỉ IP phụ trợ - ít nhất là PF của OpenBSD và Cisco ASA và Juniper Netscreen có thể làm điều này.
Chúng tôi sử dụng LVS trong sản xuất. Nó được quản lý bởi đội ngũ điều hành của chúng tôi với một tập hợp các kịch bản phức tạp và xấu xa. Một hệ thống bespoke khá thông minh thông báo dữ liệu sức khỏe và hiệu suất từ máy chủ thực của chúng tôi để cho phép bộ cân bằng tải đặt trọng lượng phù hợp.
LVS tất nhiên cung cấp cho bạn một điểm thất bại duy nhất - bộ cân bằng tải (có nhiều cách để thiết lập chúng một cách dự phòng).
Tôi nghĩ rằng điều này quá phức tạp để thiết lập nên tôi đã viết Fluffy Linux Cluster dựa trên cách thức hoạt động của Windows NLB (tôi nghĩ ... tôi không chắc nó hoạt động như thế nào) và cũng được CLUSTERIP truyền cảm hứng.
Chúng tôi không sử dụng nó trong sản xuất nhưng Fluffy có thể cân bằng tải số lượng máy chủ hợp lý (ít nhất là 5) không có điểm lỗi duy nhất và không có nút quản lý trung tâm, v.v.
Nếu bạn quyết định đồng hành cùng LVS thì tôi cũng sẽ xem xét Keepaliving nếu bạn chuẩn bị sẵn sàng cho lớp máy chủ cân bằng tải của mình. Tôi đã sử dụng Heartbeat / Pacemaker với LVS trong vài tháng và thấy nó quá phức tạp và đôi khi không ổn định đối với một lớp HA LB đơn giản.