DNS tròn có phải là giải pháp khả thi cho tính sẵn sàng cao không?


8

Giả sử tôi có 2 IP cho một miền nhất định (DNS vòng tròn).
Nếu một IP trở nên không phản hồi, khách hàng sẽ cố gắng kết nối với IP kia chứ? hoặc họ sẽ thất bại trong việc thiết lập sự kết hợp với tên miền?


Xem câu trả lời của tôi tại đây: serverfault.com/questions/327708/
Kẻ

Câu trả lời:


13

Cướp vòng DNS không phải là một thay thế tốt cho một bộ cân bằng tải. Máy chủ DNS sẽ tiếp tục phân phát IP của nút bị hỏng, vì vậy một số người dùng của bạn sẽ truy cập dịch vụ của bạn và một số người trong số họ thì không.

Khi máy khách thực hiện truy vấn DNS, máy chủ DNS sẽ trả về tất cả các địa chỉ IP được liên kết với tên đó. Phép thuật được thực hiện bởi máy chủ DNS xoay thứ tự của danh sách đó cho mọi truy vấn. Tuy nhiên, tùy thuộc vào ứng dụng để thực hiện khả năng "đi bộ" qua danh sách cho đến khi tìm thấy IP hoạt động. Và hầu hết các ứng dụng không làm điều đó.

Windows Telnet, thật kỳ lạ, là một trong những ứng dụng đủ thông minh để đi qua danh sách các IP được trả lại được liên kết. Ví dụ, bạn có thể thấy hành vi này nếu bạn cố gắng telnet đến google.com. Bạn sẽ nhận thấy rằng phải mất một thời gian dài để cuối cùng thất bại. Đó là bởi vì google.com có ​​rất nhiều địa chỉ IP và ứng dụng khách telnet đã thử mọi địa chỉ.


Tôi hiểu rằng khách hàng luôn nhận được cả IP từ NS. Theo mặc định, họ chọn cái đầu tiên trong danh sách. Nhưng nếu cái đầu tiên bị hỏng thì sao? họ sẽ thử với cái thứ hai chứ?
GetFree

9
Nó hoàn toàn phụ thuộc vào ứng dụng. Nếu chúng ta đang nói về các trình duyệt web chẳng hạn, hầu hết các trình duyệt web hiện đại sẽ đi theo danh sách cho đến khi chúng thành công, một số trình duyệt (thường là các trình duyệt cũ hơn) sẽ thất bại sau khi thử IP không thành công đầu tiên. Thông tin khác: nber.org/sys-admin/dns-failover.htmlblog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns
Ryan Ries

Theo các liên kết bạn đã đưa ra, có vẻ như nó hoạt động. Ít nhất là cho các máy khách HTTP (đó là điều tôi quan tâm ngay bây giờ). Tất cả các trình duyệt hiện đại và thậm chí các máy khách HTTP cấp thấp hơn đều chuyển sang một IP khác trong danh sách.
GetFree

Vâng. Chỉ muốn cung cấp cho bạn cảnh báo rằng nó phụ thuộc vào ứng dụng. YMMV, v.v.
Ryan Ries

@RyanRies, RFC có đưa ra bất kỳ khuyến nghị nào liên quan đến hành vi của khách hàng không? Telnet có tuân thủ khi nó thử tất cả các IP thay vì chỉ sử dụng cái đầu tiên không?
Pacerier

14

Sử dụng Load Balancer vẫn sẽ để lại một điểm thất bại duy nhất. Nếu bộ cân bằng tải của bạn không hoạt động, trang web của bạn sẽ bị hỏng.

Conterary để trả lời ở trên, Hầu hết các HTTP khách hàng đã DO hỗ trợ cố gắng mỗi địa chỉ IP được trả về từ một truy vấn DNS đến một lợi nhuận với một phản ứng hợp lệ. Xin vui lòng xem tại đây:

http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/

Có vẻ như tác giả đã thử nghiệm các trình duyệt sau và thấy chúng hoạt động tốt.

Chrome 11 trên Windows 7
Firefox 4.0 trên Windows 7
Internet Explorer 8 trên Windows 7
Opera 11 trên Windows 7
Safari 5 trên Windows 7
Internet Explorer 7 trên Windows XP (sau độ trễ đáng chú ý)
Firefox 4.0 trên Windows XP (sau độ trễ đáng chú ý)
Trình duyệt gốc Android trên Android 2.3.3
Trình duyệt riêng dành cho iPhone trên iOS 4.3.3

Sử dụng robin vòng sẽ không làm tất cả các tính năng của máy chủ cân bằng tải, những thứ như có thể theo dõi thời gian phản hồi từ cả hai máy chủ và định tuyến lưu lượng truy cập nhiều hơn đến một, nếu máy kia không phản hồi nhanh như mong muốn). Để phục hồi, tôi sẽ nói Round Robin DNS có lẽ là một giải pháp tốt hơn vì không còn một điểm thất bại nào nữa.


Xem bình luận thứ hai trong câu trả lời được chấp nhận
GetFree

2

Mặc dù DNS vòng tròn thường không có phản hồi về trạng thái của các máy chủ mà nó đang cung cấp địa chỉ, nhưng nó có thể hữu ích nếu bạn có một số loại cân bằng tải (bao gồm các thủ thuật dựa trên bộ định tuyến) cho từng địa chỉ đó.

Có những thủ thuật để cập nhật DNS khi mọi thứ thất bại; nếu điều này xảy ra, DNS vòng tròn với các TTL ngắn phù hợp có thể là một bộ cân bằng tải giả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.