Tôi hiểu rằng DNS được thiết kế để phân giải tên chứ không phải cân bằng tải.
Đối với cả hai, bởi vì (gần như) tất cả các bản ghi đều có thể được đặt, do đó, đối với một câu hỏi nhất định, khách hàng có thể nhận được nhiều câu trả lời và sau đó có thể tự do chọn bất kỳ mục nào họ thích.
Đó là lý do tại sao một mẫu phổ biến là xoay vòng giữa các câu trả lời, để khách hàng chọn mục "đầu tiên", nhưng mỗi lần nó sẽ khác nhau.
Tất nhiên, khách hàng có thể triển khai thuật toán thông minh hơn, đặc biệt cho quá trình chuyển đổi sang IPv6 với Một
và AAAA
bản ghi, hãy xem RFC 8305 "Happy Eyeballs Phiên bản 2: Kết nối tốt hơn bằng cách sử dụng đồng thời" nhưng đây không phải là cân bằng tải nữa.
Vì vậy, tất cả phụ thuộc vào lượng "thông minh" có ở phía khách hàng.
CHXHCNVN
các bản ghi cho phép mã hóa cả mức độ ưu tiên (thất bại) và trọng số (cân bằng tải) cho bất kỳ giao thức tiềm năng nào qua TCP hoặc UDP và cho phép không phải mã hóa số cổng nữa. Đáng buồn thay, các trình duyệt không bao giờ thực hiện nó.
Lặp lại mới hơn là SVCB
và HTTPS
hồ sơ cho phép loại điều tương tự.
Lưu ý điều này trong thực tế trong dự thảo hiện tại:
Bản ghi SRV chỉ định một "trọng số" cho cân bằng tải ngẫu nhiên không cân bằng. SVCB chỉ hỗ trợ cân bằng tải ngẫu nhiên đã cân bằng, mặc dù có thể thêm trọng số thông qua SvcParam trong tương lai.
Tiếp theo:
Điều gì sẽ xảy ra nếu tôi muốn một thuật toán cân bằng tải phức tạp hơn bên cạnh vòng tròn?
Ngày nay, điều này có nghĩa là CHXHCNVN
hồ sơ và một số thông tin tình báo trong ứng dụng (phía khách hàng). Hoặc một máy chủ định danh thông minh hơn thay đổi câu trả lời của nó dựa trên yếu tố động bên ngoài (ví dụ: CDN làm gì).
Vấn đề cơ bản gặp phải với cân bằng tải ở cấp độ DNS được điều chỉnh theo TTL và bởi vì một số trình phân giải sẽ không tuân theo các giá trị quá nhỏ đối với nó.
Bạn cũng cần nhớ rằng máy chủ định danh có thẩm quyền có dữ liệu chỉ nhìn thấy máy chủ định danh đệ quy mà máy khách sử dụng hầu hết thời gian chứ không phải bản thân máy khách. Vì vậy, sự lựa chọn của nó cũng bị hạn chế bởi điều đó.