Công nghệ cân bằng tải
Trong thời đại số, khi lưu lượng truy cập không ngừng gia tăng, cân bằng tải (Load Balancing) trở thành giải pháp quan trọng giúp hệ thống duy trì hoạt động ổn định. Bằng cách phân phối đều yêu cầu truy cập giữa các máy chủ, công nghệ này giúp tối ưu hiệu suất, giảm thiểu tình trạng quá tải và nâng cao độ tin cậy cho toàn bộ hệ thống mạng.
1. Khái niệm cân bằng tải
Cân bằng tải là một phương pháp phân phối khối lượng tải trên nhiều máy tính hoặc một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối đa hóa thông lượng, giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ.
Các lợi ích khi sử dụng phương pháp cân bằng tải:
Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh hoạt và mở rộng cho hệ thống.
Tăng độ tin cậy và khả năng dự phòng cho hệ thống:Sử dụng cân bằng tải giúp tăng tính HA (High Availability) cho hệ thống, đồng thời đảm bảo cho người dùng không bị gián đoạn dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ.
Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch vụ đến hệ thống, yêu cầu đó sẽ được xử lý trên bộ cân bằng tải, sau đó thành phần cân bằng tải mới chuyển tiếp các yêu cầu cho các máy chủ bên trong. Quá trình trả lời cho khách hàng cũng thông qua thành phần cân bằng tải, vì vậy mà người dùng không thể biết được chính xác các máy chủ bên trong cũng như phương pháp phân tải được sử dụng. Bằng cách này có thể ngăn chặn người dùng giao tiếp trực tiếp với các máy chủ, ẩn các thông tin và cấu trúc mạng nội bộ, ngăn ngừa các cuộc tấn công trên mạng hoặc các dịch vụ không liên quan đang hoạt động trên các cổng khác.
2. Các thuật toán cân bằng tải
Có rất nhiều thuật toán cân bằng tải được sử dụng, sau đây là các thuật toán cân bằng tải phổ biến nhất:
2.1. Thuật toán Round Robin:
Đây gọi là thuật toán luân chuyển vòng, các máy chủ sẽ được xem ngang hàng và sắp xếp theo một vòng quay. Các truy vấn dịch vụ sẽ lần lượt được gửi tới các máy chủ theo thứ tự sắp xếp.
Ví dụ:
Cấu hình một cụm Cluster bao gồm 03 máy chủ: A, B, C.
Yêu cầu dịch vụ thứ nhất sẽ được gửi đến máy chủ A
Yêu cầu dịch vụ thứ hai sẽ được gửi đến máy chủ B
Yêu cầu dịch vụ thứ ba sẽ được gửi đến máy chủ C.
Yêu cầu dịch vụ thứ tư sẽ lại được gửi cho máy chủ A
2.2. Thuật toán Weighted Round Robin:
Bản chất giống như thuật toán Round Robin, tuy nhiên chúng ta có thể cấu hình cho một máy chủ nào đó thường xuyên được sử dụng hơn.
2.3. Thuật toán Least Connection:
Đây là thuật toán dựa trên tính toán số lượng kết nối để thực hiện cân bằng tải cho máy chủ, nó sẽ tự động lựa chọn máy chủ với số lượng kết nối đang hoạt động là nhỏ nhất.
2.4. Thuật toán Weights Least Connection:
Bản chất giống thuật toán Least Connection, nhưng chúng ta có thể cấu hình ưu tiên cho một máy chủ trong cụm máy chủ hoạt động.
2.5. Thuật toán Least Response Time:
Đây là thuật toán sử dụng phương pháp thời gian đáp ứng ít nhất, lựa chọn dịch vụ trên máy chủ với thời gian đáp ứng là thấp nhất.
Ngoài ra còn có rất nhiều thuật toán cân bằng tải khác tùy theo phần mềm hoặc phần cứng cân bằng tải được sử dụng.
3. Mô hình triển khai cho Hệ thống máy chủ tên miền quốc gia Việt Nam.
Hiện tại hệ thống máy chủ tên miền quốc gia gồm 5 cụm máy chủ đặt trong nước trong đó 2 cụm tại thành phố Hồ Chí Minh; 2 cụm tại Hà Nội và 1 cụm đặt tại Đà Nẵng.
Công nghệ cân bằng tải được sử dụng trên Hệ thống máy chủ tên miền quốc gia Việt Nam bao gồm:
Round Robin DNS.
Sử dụng thiết bị cân bằng tải chuyên dụng.
Công nghệ DNS Anycast.
3.1. Round Robin DNS:
Phương pháp Round Robin DNS là một phương pháp cân bằng tải phổ biến, đơn giản và dễ sử dụng; đặc biệt phương pháp này rất thích hợp khi cân bằng tải theo khu vực địa lý (Global Server Load Balancing).
Trung tâm Internet Việt Nam đang sử dụng phương pháp cân bằng tải Round Robin DNS trong việc cân bằng tải truy vấn DNS .VN cho các cụm máy chủ thuộc các khu vực địa lý khác nhau: Hà Nội, Đà Nẵng và Hồ Chí Minh.
Các truy vấn tên miền dưới .VN được phân bố đều trên các cụm máy chủ.
Ví dụ:
com.vn nameserver = a.dns-servers.vn
com.vn nameserver = b.dns-servers.vn
com.vn nameserver = c.dns-servers.vn
com.vn nameserver = d.dns-servers.vn
com.vn nameserver = e.dns-servers.vn
com.vn nameserver = f.dns-servers.vn
com.vn nameserver = g.dns-servers.vn
com.vn nameserver = h.dns-servers.vn

Cân bằng tải sử dụng Round Robin DNS
Phương pháp cân bằng tải này dựa trên thuật toán Round Robin đã được trình bày ở trên.
Khi yêu cầu truy vấn đầu tiên đến được máy chủ DNS, nó sẽ trả về địa chỉ IP của máy chủ DNS-A.
Khi có yêu cầu truy vấn thứ hai đến máy chủ DNS, nó sẽ trả về địa chỉ IP của máy chủ DNS-B.
Khi có yêu cầu truy vấn thứ ba đến máy chủ DNS, nó sẽ trả về địa chỉ IP của máy chủ DNS-C.
Quá trình này cứ tiếp tục như vậy với các yêu cầu tiếp theo, và sau khi đi hết một vòng Round Robin, truy vấn sẽ được lặp lại.
3.2. Sử dụng thiết bị cân bằng tải chuyên dụng:
Phương pháp cân bằng tải dùng thiết bị phần cứng sẽ tạo một địa chỉ IP ảo với mạng bên ngoài, địa chỉ này sẽ được bản đồ hóa (mapping) với các địa chỉ máy chủ bên trong một Cluster. Bên ngoài sẽ không thể truy cập trực tiếp đến các máy chủ bên trong, mà chỉ truy cập đến địa chỉ ảo được cấu hình trên thiết bị cân bằng tải.

Sử dụng thiết bị cân bằng tải chuyên dụng
Hiện tại, Trung tâm Internet Việt Nam đang sử dụng các thiết bị cân bằng tải chuyên dụng như F5 trong việc cân bằng tải cho các máy chủ trong từng cụm máy chủ Hệ thống máy chủ tên miền quốc gia Việt Nam. Việc cân bằng tải này được thực hiện tại từng cụm máy chủ DNS nên còn được gọi là Local Load Balancing.
3.3. Công nghệ DNS Anycast:
Hiện tại, Hệ thống máy chủ tên miền quốc gia Việt Nam sử dụng công nghệ DNS Anycast cho 02 cụm máy chủ đặt ở nước ngoài và 01 cụm máy chủ đặt ở trong nước (trên hạ tầng trạm trung chuyển Internet quốc gia - VNIX), công nghệ này đảm bảo truy vấn tên miền ".vn" từ phía người dùng trên khắp thế giới sẽ được thực hiện rất nhanh qua máy chủ DNS gần nhất được tìm thấy trong số các máy chủ tên miền ".vn".