Wiele rekordów A wskazujących na tę samą domenę wydaje się być używanych prawie wyłącznie do implementacji DNS Round Robin jako taniej techniki równoważenia obciążenia.
Zwykle ostrzeżenie przed RR RR jest takie, że nie jest dobre dla wysokiej dostępności. Po zaniku 1 adresu IP klienci będą go używać przez kilka minut.
Moduł równoważenia obciążenia jest często sugerowany jako lepszy wybór.
Oba twierdzenia nie są całkowicie prawdziwe:
Gdy ruch jest wtedy HTTP, większość przeglądarek HTML jest w stanie automatycznie wypróbować następny rekord A, jeśli poprzedni jest wyłączony, bez nowego wyszukiwania DNS. Przeczytaj tutaj rozdział 3.1 i tutaj .
Gdy w grę wchodzi wiele centrów danych, DNS RR jest jedyną opcją dystrybucji ruchu między nimi.
Czy to prawda, że przy wielu centrach danych i ruchu HTTP użycie DNS RR jest JEDYNYM sposobem zapewnienia natychmiastowego przełączenia awaryjnego, gdy jedno centrum danych ulegnie awarii?
Dzięki,
Valentino
Edytować:
- Oczywiście każde centrum danych ma lokalny moduł równoważenia obciążenia z funkcją hot spare.
- Można poświęcić koligację sesji dla natychmiastowego przełączenia awaryjnego.
- AFAIK jedynym sposobem, aby DNS sugerował centrum danych zamiast innego, jest odpowiedź z samym adresem IP (lub adresami IP) powiązanymi z tym centrum danych. Jeśli centrum danych stanie się nieosiągalne, wówczas wszystkie te adresy IP również będą nieosiągalne. Oznacza to, że nawet jeśli inteligentne przeglądarki HTML mogą natychmiast wypróbować inny rekord A, wszystkie próby zakończą się niepowodzeniem, dopóki nie wygaśnie lokalny wpis w pamięci podręcznej i nie zostanie wykonane nowe wyszukiwanie DNS, pobierając nowe działające adresy IP (zakładam, że DNS automatycznie sugeruje nowe centrum danych, gdy jedno ulegnie awarii). Tak więc „inteligentny DNS” nie może zapewnić natychmiastowego przełączenia awaryjnego.
- Z drugiej strony okrągły DNS na to pozwala. Gdy jedno centrum danych ulegnie awarii, inteligentne przeglądarki HTML (większość z nich) natychmiast wypróbowują inne zapisane w pamięci podręcznej rekordy A, przeskakując do innego (działającego) centrum danych. Tak więc, round-robin DNS nie zapewnia koligacji sesji lub najniższego RTT, ale wydaje się być jedynym sposobem na zapewnienie natychmiastowego przełączenia awaryjnego, gdy klienci są „inteligentnymi” przeglądarkami HTML.
Edycja 2:
- Niektóre osoby sugerują TCP Anycast jako ostateczne rozwiązanie. W tym artykule (rozdział 6) wyjaśniono, że przełączenie awaryjne Anycast związane jest ze zbieżnością BGP. Z tego powodu Anycast może wykonać od 15 minut do 20 sekund. Możliwe są 20 sekund w sieciach, w których topologia została do tego zoptymalizowana. Prawdopodobnie tylko operatorzy CDN mogą zapewnić tak szybkie przełączanie awaryjne.
Edycja 3: *
- Zrobiłem kilka wyszukiwań DNS i traceroutes (może jakiś ekspert może sprawdzić dwukrotnie) i:
- Jedynym CDN używającym TCP Anycast wydaje się być CacheFly, inni operatorzy, tacy jak sieci CDN i BitGravity, używają CacheFly. Wydaje się, że ich krawędzie nie mogą być używane jako odwrotne proxy. Dlatego nie można ich użyć do natychmiastowego przełączenia awaryjnego.
- Wydaje się, że Akamai i LimeLight używają DNS z obsługą geo. Ale! Zwracają wiele rekordów A. Z traceroutes wydaje się, że zwrócone adresy IP znajdują się w tym samym centrum danych. Zastanawiam się więc, w jaki sposób mogą zaoferować 100% SLA, gdy jedno centrum danych ulegnie awarii.