Web Design Blog / Hosting:

Jedna domena – dwa adresy IP – DNS round robin

Data publikacji: 5 maja 2019

Przy zwiększonym ruchu na serwerze wąskim gardłem stanie się ta maszyna, którą bezpośrednio wskazuje DNS. W prostych aplikacjach i standardowych stronach internetowych jest to serwer HTTP obsługujące poszczególne zapytania. W bardziej zaawansowanych infrastrukturach jest to load balancer lub serwer reverse proxy.

Technika horyzontalnego skalowania serwerów HTTP jaką wam zaprezentuję jest znana od 1995 roku, ponieważ opisano ją w dokumencie RFC 1794. nadal może być przydatna a jej zrozumienie będzie bardzo rozwojowe i przydatne przy rozwijaniu dużej aplikacji w warunkach… niskobudżetowych.

Round robin na DNSie, bo tak nazywa się ta technika to wybieranie przez przeglądarkę losowego adresu IP z puli dostępnych adresów jaką serwuje DNS. Okazuje się, że w rekordzie „A” domena może mieć przypisanych więcej niż jeden adresów IP.

Choć karuzela DNS jest uważana za prymitywny i prześmiewczo uznawana za „load balancing dla biedaków” (bo faktycznie jest to dobry wybór w przypadku duzych projektów o małym budżecie) z powodzeniem jest wykorzystywana choćby przez wyszukiwarkę. Polecenie Dig A dla domeny google.com zwraca następujące adresy IP:

Oczywiście to nie jest tak że tam siedzą serwery Front-Endowe wyszukiwarki. To adresy load balancerów albo serwerów typu reverse proxy, które dalej rozdzielają ruch. Netflix też korzysta z tego triku:

Jak wykonać taki load balancing?

Nie ma nic prostszego. W strefie DNS domeny dodajemy kolejne rekordy „A”. Nie ma sztywnego limitu ilości adresów IP ale zaleca się stosować maksymalnie kilkanaście adresów.

Zalety równoważenia obciążeń za pomocą DNS

  • Niski koszt -nic nie kosztuje
  • Prostota działania
  • Możliwość szybkiego wdrożenia

Wady techniki DNS round robin

  • DNS nie kieruje konkretnych klientów pod te same adresy tak jak inteligentny load balancer, dlatego aplikacja PHP będzie gubić (zapominać) sesje. Należy zapisywać sesje we współdzielonej przez serwery pamięci masowej.
  • DNS nie ma możliwości monitorowania obciążenia ani stanu serwera dlatego w przypadku awarii jednego z serwerów aplikacja może działać nieprawidłowo. Metoda ta nie eliminuje w 100% pojedynczego punktu awarii.

Podsumowanie

Choć DNS round robin to prosta i prymitywna technika równoważenia obciążeń nadal może być stosowana w skalowalnych aplikacjach internetowych we wczesnych etapach ich rozwoju.

Źródła

https://tools.ietf.org/html/rfc1794

Jedna domena – dwa adresy IP – DNS round robin
4.3 (85%) głosów: 4


Komentarze

Brak komentarzy.

Dodaj swój komentarz