1. Lý thuyết xây dựng bộ cân bằng tải cho web-servers
1.2.3. Lựa chọn site tốt nhất:
Không kém phần quan trọng so với việc cài đặt bộ cân bằng tải vào hệ thống DNS, việc lựa chọn trang tốt nhất, hay đúng hơn là chọn cụm web-server nào tốt nhất và trả về địa chỉ IP của cụm đó cho người dùng. Cụm server tốt nhất ở đây bao hàm cả trạng thái server và vị trí của nó đối với người dùng. Các công việc phải thực hiện để kiểm tra trạng thái của server bao gồm kiểm tra “server health” (Site health conditions), thời gian đáp ứng (Site Response Time) và tải hiện tại của server (Site Load Conditions). Ở đây site chỉ cho một cụm máy chủ ở một vùng nào đó, có thể hiểu là một cluster.
Kiểm tra trạng thái “health” là một nhân tố quan trọng của GSLB, nhằm nhận biết các site đang hoạt động và các site không hoạt động, từ đó chuyển hướng người dùng đến site phù hợp. Tuy vậy, việc này là khá dễ đối với bộ cân bằng tải vì nó có thể sử dụng cùng một phương pháp như phương pháp “health checks” đối với các server trong cùng một cluster. Có nhiều kiểu “health checks” khác nhau, từ tầng 2/3 đến tầng 4 của mô hình OSI, hay thậm chí ở tầng 7. Bộ cân bằng tải toàn cầu sẽ gửi một yêu cầu HTTP đối với mỗi URL từ phía người dùng và kiểm tra một mã trả về, sau đó kiểm tra ngữ cảnh trên các từ khóa hoặc tính toán một mã kiểm tra (checksum) trên trang trả về để khớp với giá trị mà người dùng đã chỉ định.
Nhân tố thứ 2 quyết định việc chọn site trong GSLB là thời gian đáp ứng của site đó (thời gian đáp ứng của web-server). Bộ cân bằng tải kiểm tra thời gian đáp ứng bằng cách đo thời gian trễ giữa quá trình gửi yêu cầu và nhận hồi đáp trong một giao tác. Như vậy, có thể kết hợp cả health check và kiểm tra thời gian đáp ứng bằng cách đo thời gian trễ của quá trình health check. Cần phải chú ý rằng thời gian đáp ứng của site là khác so với thời gian đáp ứng người dùng. Ở đây sẽ không có thời gian trễ của người dùng và thời gian trễ của internet, nó chỉ đơn giản là thời gian đáp ứng của cluster.
Khi bộ cân bằng tải gửi một tín hiệu “health check”, tín hiệu này sẽ chuyển được đến một server nào đó trong cluster. Khi nó gửi thêm một tín hiêu khác, có thể sẽ được chuyển đến một server khác trong cluster này. Thời gian đáp ứng đo được ở các giao tác này là khác nhau, vì vậy để đánh giá một cách chính xác thời gian đáp ứng của cluster, cần phải lấy thời gian trung bình trong các lần đo này.
Nhân tố thứ 3 quyết định việc chọn site chính là trạng thái tải của site. Trong phần này, chúng ta cần biết đến không chỉ tải hiện tại của server mà còn phải quan tâm đến khả năng của server này, 2 nhân tố này làm nên tính sẵn có của site. Một bộ cân bằng tải hoạt động tốt nghĩa là nó nên chọn được site có tính sẵn có cao nhất. Một trong các thông số để đo trạng thái tải của server chính là số kết nối hiện tại đến server đó. Thêm nữa, một số ý kiến cho rằng, thời gian đáp ứng của server chính là nhân tố cho thấy tải hiện thời của server, một server nhẹ tải sẽ đáp ứng nhanh hơn một server nặng tải hơn.
Song song với việc chọn site theo thông số của server là chọn site theo vị trí địa lý của site này. Nghĩa là, bộ cân bằng tải toàn cầu sẽ nhận biết IP của người dùng, sau đó xác định vùng mà người đó truy cập vào website. Việc xác định này sẽ dựa trên block của địa chỉ IP, được cấp phát bởi các công ty quản lý địa chỉ IP, chẳng hạn như Asia Pacific Network Information Center (APNIC) sẽ quản lý cấp phát địa chỉ IP ở Châu Á Thái Bình Dương. Sau khi xác định vùng truy cập, GSLB sẽ hướng người dùng đến server gần nhất. Điều này sẽ giúp giảm thiểu tối đa thời gian trễ của internet, vì hướng người dùng đến site gần họ nhất, nên hầu hết sẽ không phải tốn băng thông đi quốc tế.
Cần phải nhắc lại rằng, DNS được tạo ra không phải để dành riêng cho GSLB. GSLB sử dụng DNS để phục vụ cho mục đích của mình và kết quả mang lại là rất tốt như chúng ta đã thảo luận ở trên. Tuy vậy vẫn có những hạn chế mà GSLB dựa trên DNS không giải quyết được, chẳng hạn như khi người dùng quá xa local DNS của họ, hoặc có một số local DNS bỏ qua giá trị TTL được chỉ định bởi authoritative DNS.