Sun Load Balancer#

Overview#

Load Balancer là giải pháp cân bằng tải giúp phân phối lưu lượng truy cập đến các server sao cho tối ưu về tốc độ và hiệu suất nhằm đảm bảo tất cả các server luôn hoạt động một cách cân bằng, tránh tình trạng cao tải cục bộ. Load balancer sử dụng thuật toán để xác định thứ tự các máy nhận được request, tình trạng hoạt động (healthy/unhealthy) được tự động xác định bằng cấu hình health check. Nếu 1 server ở tình trạng unhealth, Load Balancer sẽ chuyển hướng lưu lượng truy cập đến các server còn lại có khả năng thực hiện các request đó. Khi một server mới thêm vào, Load Balancer sẽ ngay lập tức phân phối lưu lượng request đến các server đó.

Step 1

Lợi ích của việc sử dụng Load Balancer#

Gia tăng hiệu suất#

Load Balancer có khả năng thêm vào các máy chủ để gia tăng hiệu năng của hệ thống mà không gặp tình trạng downtime, giúp linh hoạt trong việc sử dụng tài nguyên. Tự động điều phối lưu lượng đến các máy chủ có khả năng xử lý các yêu cầu dịch vụ, vì vậy không làm gián đoạn các hoạt động chung của hệ thống, tăng tính High Availability. Tại một thời điểm, khi có nhiều người cùng truy cập vào một website, sẽ dẫn đến tình trạng website đó bị chậm, thậm chỉ không thể kết nối được với máy chủ vì máy chủ không kịp xử lý các tác vụ. Khi đó, Load Balancer sẽ thực hiện nhiệm vụ chuyển lưu lượng sang một máy chủ khác để kịp thời thực hiện các tác vụ và giải quyết tất cả các yêu cầu của người dùng.

Đảm bảo mức độ khả dụng(HA)#

Đo lường và giám sát tình trạng của các ứng dụng và microservices theo thời gian thực, nhanh chóng phát hiện các điểm bottlenecks hay thay đổi trong lượng truy cập. Dịch vụ Load Balancer giúp phân phối tải đều lên các máy chủ, khi có một máy chủ gặp sự cố, lưu lượng truy cập sẽ được tự động chuyến đến các máy chủ còn lại. Nhờ đó, trong mọi trường hợp, nếu có sự cố đều được phát hiện và xử lý kịp thời giúp loại bỏ nguy cơ quá tải hay downtime; từ đó, đảm bảo tính khả dụng của ứng dụng và giảm thời gian chờ đợi của người dùng.

Theo dõi và quản lý dễ dàng#

Dịch vụ Load Balancer của Sunteco cung cấp giao diện trực quan với tất cả chỉ số đo lường, giúp người quản trị hệ thống dễ dàng quản lý các máy chủ và cân bằng tải.

Tùy chỉnh số lượng server linh hoạt#

Người dùng có thể dễ dàng thêm vào hoặc loại bỏ các servers theo yêu cầu một cách dễ dàng.

Đối tượng phục vụ#

Các trang web hiện đại có lưu lượng truy cập cao phải xử lý hàng trăm hoặc thậm chí hàng nghìn yêu cầu đồng thời từ người dùng và phản hồi chính xác các văn bản, hình ảnh, video hoặc dữ liệu ứng dụng. Trong trường hợp này, bạn cần một bộ cân bằng tải để phân bổ tải cho các máy chủ có thể xử lý các yêu cầu này.

Các layer được sử dụng trong Load Balancer có 2 loại chính: Layer 4 và Layer 7.

Layer 4 (Transport Layer): hoạt động dựa trên thông tin của các giao thức mạng như TCP và UDP. Nhiệm vụ chính của Load Balancer L4 là quản lý lưu lượng truy cập dựa trên thông tin cơ bản của các gói tin mạng, chẳng hạn như địa chỉ IP nguồn và đích, số cổng, thông tin kết nối và trạng thái kết nối. Thuật toán cân bằng tải phổ biến được sử dụng ở tầng này là Round Robin, nơi lưu lượng truy cập được chia đều qua các máy chủ.

Layer 7 (Application Layer): Load Balancer ở tầng 7 (L7) hoạt động ở mức cao nhất của mô hình OSI và có khả năng đưa ra quyết định định tuyến dựa trên thông tin chi tiết hơn của giao thức ứng dụng, chẳng hạn như HTTP, HTTPS, DNS, FTP, SMTP, v.v. Cân bằng tải L7 có thể xem xét nội dung của các gói tin truyền, dữ liệu cookie, tiêu đề HTTP, loại dữ liệu và địa chỉ URL để quyết định định tuyến lưu lượng truy cập tốt nhất. Điều này cho phép cân bằng tải L7 tối ưu hóa hiệu suất dựa trên các yêu cầu cụ thể của ứng dụng và nội dung được truyền.