To niezwykłe, jak wielu współpracowników przyczynia się do dezinformacji o DNS Round Robin jako mechanizmie rozłożenia obciążenia i odporności. Zwykle działa, ale musisz zrozumieć, jak to działa, i uniknąć błędów spowodowanych całą tą dezinformacją.
1) TTL dla rekordów DNS używanych dla Round Robin powinien być krótki - ale NIE ZEROWANY. Utrzymywanie TTL na poziomie zerowym jest głównym sposobem zapewnienia odporności.
2) DNS RR rozprzestrzenia się, ale nie równoważy obciążenia, rozkłada go, ponieważ w dużej bazie klientów mają tendencję do samodzielnego wysyłania zapytań do serwera DNS, w wyniku czego uzyskują różne wpisy DNS pierwszego wyboru. Te różne pierwsze opcje oznaczają, że klienci są obsługiwani przez różne serwery, a obciążenie jest rozłożone. Ale wszystko zależy od tego, które urządzenie wykonuje zapytanie DNS i od tego, jak długo utrzymuje wynik. Typowym przykładem jest to, że wszyscy klienci za korporacyjnym serwerem proxy (który wykonuje dla nich zapytanie DNS) ostatecznie będą atakować pojedynczy serwer. Obciążenie rozkłada się - ale nie jest równomiernie zrównoważone.
3) DNS RR zapewnia odporność, o ile oprogramowanie klienckie odpowiednio go implementuje (a zarówno TTL, jak i zakres uwagi użytkowników nie są zbyt krótkie). Wynika to z faktu, że okrągły robin DNS zapewnia uporządkowaną listę adresów IP serwerów, a oprogramowanie klienckie powinno próbować kontaktować się z każdym z nich po kolei, aż znajdzie serwer, który zaakceptuje połączenie.
Jeśli więc serwer pierwszego wyboru jest wyłączony, połączenie klienta TCP / IP przekroczy limit czasu i pod warunkiem, że nie upłynął ani czas TTL, ani okres uwagi, oprogramowanie klienta podejmuje kolejną próbę połączenia z drugim wpisem na liście - i tak dalej, aż do momentu TTL wygasa lub trafia na koniec listy (albo użytkownik poddaje się z niesmakiem).
Długa lista uszkodzonych serwerów (twoja wina) i duże limity ponownych prób połączenia TCP / IP (błędna konfiguracja klienta) mogą powodować długi czas, zanim klient faktycznie znajdzie działający serwer. Zbyt krótki TTL oznacza, że nigdy nie uda mu się dotrzeć do końca listy, zamiast tego wydaje nowe zapytanie DNS i dostaje nową listę (mam nadzieję, że w innej kolejności).
Czasami klient ma pecha, a nowa lista wciąż zaczyna się od uszkodzonych serwerów. Aby dać systemowi najlepszą szansę na zapewnienie odporności klienta, należy upewnić się, że czas TTL jest dłuższy niż typowy okres uwagi, a klient powinien dostać się na dół listy.
Gdy klient znajdzie działający serwer, powinien go zapamiętać, a kiedy musi nawiązać następne połączenie, nie powinien powtarzać wyszukiwania (chyba że upłynął czas TTL). Dłuższe TTL zmniejsza częstotliwość, z jaką użytkownicy doświadczają opóźnienia, podczas gdy klient szuka działającego serwera - co zapewnia lepsze wrażenia.
4) DNS TTL wchodzi w grę, gdy chcesz ręcznie zmienić rekordy DNS (np. Aby usunąć zepsuty serwer na dłuższą metę), to krótki TTL pozwala na szybkie rozpowszechnienie się tej zmiany (kiedy już to zrobisz), więc zastanów się nad równowagą między tym, jak długo potrwa, zanim dowiesz się o problemie, i dokonaj ręcznej zmiany - oraz faktem, że normalni klienci będą musieli przeprowadzić nowe wyszukiwanie działającego serwera dopiero po wygaśnięciu TTL.
Okrągły robin DNS ma dwie wyjątkowe funkcje, które sprawiają, że jest bardzo opłacalny w wielu różnych scenariuszach - po pierwsze jest bezpłatny, a po drugie jest prawie tak rozproszony geograficznie jak baza klientów.
Nie wprowadza nowej „jednostki awarii”, którą robią wszystkie inne „sprytne” systemy. Nie ma żadnych dodanych komponentów, które mogłyby wystąpić wspólna i jednoczesna awaria w całym obciążeniu połączonych elementów.
„Sprytne” systemy są świetne i wprowadzają wspaniałe mechanizmy koordynowania i zapewniania płynnego mechanizmu równoważenia i przełączania awaryjnego, ale ostatecznie tymi samymi metodami, które wykorzystują do zapewnienia płynnego działania, są pięta achillesowa - dodatkowa skomplikowana rzecz, która może się nie udać, a kiedy to zrobi, zapewni bezproblemowe działanie systemu awarii w całym systemie.
Tak, TAK, okrągły robin DNS jest zdecydowanie „wystarczająco dobry”, aby zrobić pierwszy krok poza pojedynczy serwer hostujący wszystkie treści statyczne w jednym miejscu.