Cân bằng tải là gì? – Giải thích về thuật toán Cân bằng tải – AWS
Thuật toán cân bằng tải là một tập hợp các quy tắc mà bộ cân bằng tải tuân theo để xác định máy chủ phù hợp nhất cho từng yêu cầu của máy khách khác nhau. Các thuật toán cân bằng tải gồm có hai loại chính.
Mục lục bài viết
Cân bằng tải tĩnh
Các thuật toán cân bằng tải tĩnh tuân theo những quy tắc cố định và độc lập với trạng thái máy chủ hiện tại. Sau đây là những ví dụ về cân bằng tải tĩnh.
Phương thức round robin (luân chuyển vòng)
Các máy chủ có địa chỉ IP cho máy khách biết vị trí gửi yêu cầu. Địa chỉ IP là một số dài, khó nhớ. Để cho dễ thực hiện, Hệ thống tên miền ánh xạ tên trang web với máy chủ. Khi bạn nhập aws.amazon.com vào trình duyệt của mình, trước tiên, yêu cầu sẽ đi tới máy chủ định danh của chúng tôi. Máy chủ này trả về địa chỉ IP của chúng tôi cho trình duyệt của bạn.
Trong phương thức luân chuyển vòng, máy chủ định danh có thẩm quyền thực hiện việc cân bằng tải thay vì phần cứng hoặc phần mềm chuyên dụng. Máy chủ định danh trả về địa chỉ IP của các máy chủ khác nhau trong cụm máy chủ theo lượt hoặc theo kiểu luân chuyển vòng.
Phương thức weighted round robin (luân chuyển vòng theo trọng số)
Trong cân bằng tải luân chuyển vòng theo trọng số, bạn có thể chỉ định trọng số khác nhau cho từng máy chủ dựa trên mức độ ưu tiên hoặc công suất của máy chủ. Các máy chủ có trọng số cao hơn sẽ tiếp nhận lưu lượng truy cập tới ứng dụng nhiều hơn từ máy chủ định danh.
Phương thức băm IP
Trong phương thức băm IP, bộ cân bằng tải thực hiện một phép tính toán học, gọi là băm, cho địa chỉ IP máy khách. Phương thức này chuyển đổi địa chỉ IP máy khách thành một số, sau đó ánh xạ số này tới các máy chủ riêng lẻ.
Cân bằng tải động
Thuật toán cân bằng tải động kiểm tra trạng thái hiện tại của các máy chủ trước khi phân phối lưu lượng truy cập. Sau đây là một số ví dụ về thuật toán cân bằng tải động.
Phương thức least connection (kết nối tối thiểu)
Kết nối là một kênh giao tiếp mở giữa một máy khách và một máy chủ. Khi máy khách gửi yêu cầu đầu tiên tới máy chủ, máy khách và máy chủ sẽ xác thực và thiết lập một kết nối hoạt động giữa hai bên. Trong phương thức kết nối tối thiểu, bộ cân bằng tải kiểm tra máy chủ có ít kết nối hoạt động nhất và gửi lưu lượng truy cập tới những máy chủ đó. Phương thức này giả định mọi kết nối đòi hỏi công suất xử lý như nhau cho tất cả các máy chủ.
Phương thức weighted least connection (kết nối tối thiểu theo trọng số)
Các thuật toán kết nối tối thiểu theo trọng số giả định một số máy chủ có thể xử lý nhiều kết nối hoạt động hơn so với những máy chủ khác. Do đó, bạn có thể chỉ định trọng số hoặc công suất khác nhau cho từng máy chủ, đồng thời, bộ cân bằng tải gửi các yêu cầu mới của máy khách tới máy chủ có số kết nối tối thiểu theo công suất.
Phương thức least response time (thời gian phản hồi tối thiểu)
Thời gian phản hồi là tổng thời gian mà máy chủ tiêu tốn để xử lý những yêu cầu tới và gửi đi phản hồi. Phương thức thời gian phản hồi tối thiểu kết hợp thời gian phản hồi của máy chủ và các kết nối hoạt động để xác định máy chủ phù hợp nhất. Bộ cân bằng tải sử dụng thuật toán này để đảm bảo dịch vụ nhanh hơn cho mọi người dùng.
Phương thức dựa trên tài nguyên
Trong phương thức dựa trên tài nguyên, bộ cân bằng tải phân phối lưu lượng truy cập bằng cách phân tích tải máy chủ hiện tại. Phần mềm chuyên dụng gọi là tác tử chạy trên mỗi máy chủ và tính toán mức sử dụng tài nguyên của máy chủ, chẳng hạn như công suất điện toán và bộ nhớ. Sau đó, bộ cân bằng tải sẽ kiểm tra tác tử để gom đủ tài nguyên còn trống trước khi phân phối lưu lượng truy cập cho máy chủ đó.