OK, điều này đã được hỏi một lúc trước, và tôi đến bữa tiệc muộn. Tuy nhiên, có một cái gì đó để thêm ở đây.
Jackie, bạn đã đóng đinh nó khá nhiều. Hình minh họa của bạn cho thấy cách cân bằng tải được xử lý trên hầu hết các cài đặt nhỏ hơn và trung bình.
Bạn nên đọc phần giới thiệu cân bằng tải của Willy Tarreau mà Nakedible liên kết đến. Nó vẫn còn hiệu lực, và đó là một giới thiệu tốt.
Bạn cần xem xét làm thế nào những điều này phù hợp với nhu cầu của bạn:
- Bộ cân bằng tải cấp TCP / IP (Linux Virtual Server et al). Thấp nhất trên mỗi kết nối, tốc độ cao nhất, không thể "nhìn thấy" HTTP.
- Bộ cân bằng tải mức HTTP (HAProxy, nginx, Apache 2.2, Pound, Microsoft ARR, v.v.). Chi phí cao hơn, có thể thấy HTTP, có thể gzip HTTP, có thể làm SSL, có thể thực hiện cân bằng tải phiên dính.
- Proxy ngược HTTP (Máy chủ lưu lượng truy cập Apache, Varnish, Mực). Có thể lưu trữ các đối tượng có khả năng lưu trữ bộ đệm (một số trang web, css, js, hình ảnh) trong RAM và chuyển tiếp chúng đến các máy khách tiếp theo mà không liên quan đến máy chủ web phụ trợ. Có thể thường xuyên làm một số điều tương tự mà bộ cân bằng tải L7 HTTP làm.
có một bộ cân bằng thứ hai vì tôi chắc chắn một lúc nào đó bộ cân bằng cũng sẽ cần sự giúp đỡ.
Vâng, chắc chắn rồi. Nhưng cân bằng tải rất đơn giản và thường một bộ cân bằng tải có thể đi nhanh . Tôi liên kết đến bài viết này, điều gây chú ý trên web, như một ví dụ về hiệu suất của một máy chủ hiện đại có thể cung cấp. Đừng sử dụng nhiều LB trước khi bạn cần. Khi bạn cần một cách tiếp cận phổ biến là bộ cân bằng tải cấp IP ở phía trước (hoặc Robin Round Robin), đi đến bộ cân bằng tải cấp HTTP, đến máy chủ proxy & máy chủ web.
giúp đỡ về "cân bằng / s" nên là gì và thực hành tốt nhất về cách thiết lập chúng.
Điểm rắc rối là việc xử lý trạng thái phiên, và ở một mức độ nào đó trạng thái thất bại. Thiết lập các bộ cân bằng tải tương đối đơn giản.
Nếu bạn chỉ đang sử dụng 2-4 máy chủ webapp phụ trợ, việc băm tĩnh dựa trên địa chỉ IP gốc có thể khả thi. Điều này tránh sự cần thiết cho trạng thái phiên chia sẻ giữa các máy chủ webapp. Mỗi nút webapp nhìn thấy 1 / N lưu lượng tổng thể và ánh xạ từ khách hàng đến máy chủ là tĩnh trong hoạt động bình thường. Nó không phải là một phù hợp tốt cho cài đặt lớn hơn mặc dù.
Các hai thuật toán cân bằng tải tốt nhất, theo nghĩa rằng họ có hành vi lành tính theo tải trọng cao và phân phối tải thậm chí, là round robin và đúng cân bằng tải ngẫu nhiên. Cả hai yêu cầu này là ứng dụng web của bạn có trạng thái phiên toàn cầu có sẵn trên các nút webapp. Làm thế nào điều này được thực hiện phụ thuộc vào ngăn xếp công nghệ webapp; nhưng nói chung có các giải pháp tiêu chuẩn có sẵn cho việc này.
Nếu không băm tĩnh, cũng không phải trạng thái phiên chia sẻ phù hợp với bạn, thì lựa chọn nói chung là cân bằng tải ' phiên dính ' và trạng thái phiên trên mỗi máy chủ. Trong hầu hết các trường hợp, điều này hoạt động tốt, và nó là một lựa chọn hoàn toàn khả thi.
bộ cân bằng sẽ xem có bao nhiêu kết nối trên mỗi phiên bản apache (thông qua một số danh sách cấu hình của IP bên trong hoặc IP vĩnh cửu) và phân phối các kết nối như nhau
Vâng, một số trang web sử dụng này. Có nhiều tên cho nhiều thuật toán cân bằng tải khác nhau tồn tại. Nếu bạn có thể chọn vòng tròn ngẫu nhiên hoặc vòng tròn ngẫu nhiên (hoặc vòng tròn có trọng số, ngẫu nhiên có trọng số) thì tôi khuyên bạn nên làm như vậy, vì những lý do nêu trên.
Điều cuối cùng: Đừng quên rằng nhiều nhà cung cấp (F5, Cisco và các nhà cung cấp khác trên Coyote Point và Kemp Technologies cao cấp với mức giá hợp lý hơn) cung cấp các thiết bị cân bằng tải trưởng thành .