Wydaje mi się, że to pytanie może być uzasadnione, w jaki sposób CDN działa na poziomie DNS, ale moim prawdziwym problemem jest to, że moja firma ma centra danych na trzech kontynentach i musimy mieć europe.example.com us.example.com i asia.example .com
CDN zazwyczaj wysyłają cię do lokalnego centrum danych, jakie sobie wyobrażam, w zależności od twojego adresu IP. Musi to być usługa DNS, w której serwer DNS w USA wysyła Cię do centrum danych w USA w ramach tego samego wyszukiwania DNS w witrynie example.com?
Czy się mylę? Jeśli się mylę co do tego, jak mam to zrobić skutecznie i jeśli to możliwe bez centralnych serwerów (innych niż DNS)?
domain-name-system
cdn
Stewart Robinson
źródło
źródło
Odpowiedzi:
Problem z CDN polega na tym, że nie kierują cię na podstawie twojego adresu IP - kierują cię na podstawie adresu IP twojego serwera DNS ... To może być całkowicie błędne. I przeczytaj artykuł Paula Vixie na temat ACM , to huk pieniędzy.
Tak czy inaczej, jeśli masz już
region.example.com
ustawiony i działa, to mogłaby rozważyć robi HTTP przekierowanie zexample.com
do właściwego serwera WWW, na podstawie adresu IP klienta.Tak właśnie robi Google, tak właśnie się
google.co.uk
wpisujęgoogle.com
.Upewnij się także, że zapewniasz klientom dostęp do innych odmian. Klientom się to nie podoba, gdy są zmuszani do konkretnej witryny, czy to przez pomyłki w bazach danych geograficznych, czy po prostu dlatego, że muszą zobaczyć witrynę z innego regionu.
źródło
Nowsze CDN (Cloudflare, MaxCDN, fast.ly) używają anycast zarówno dla serwerów DNS, jak i rzeczywistych serwerów treści. Jest to nieco lepsze niż próba użycia źródłowego adresu IP zapytania DNS i ciągle zmieniającej się bazy danych mapowania.
Teoretycznie użycie anycast zarówno dla serwerów DNS, jak i serwerów treści pozwala samej sieci znaleźć „najbliższe” serwery do klienta. W praktyce jest to głównie prawda, ale zdarzają się dziwne przypadki, w których ludzie w Singapurze trafią na najnowocześniejsze serwery w Kalifornii zamiast w Hongkongu ze względu na ciągle zmieniające się relacje równorzędne między dostawcami usług internetowych.
Anycast jest trudny do zrobienia .
Starsze CDN, takie jak Akamai i Limelight, zazwyczaj używają anycast, aby dostać się do najbliższego serwera DNS, ale następnie podejmij podejście oparte na zgadywaniu na podstawie adresu IP. Z mojego doświadczenia nie działa to tak dobrze, zwłaszcza jeśli klient korzysta z serwerów DNS, które nie są w pobliżu pod względem topologii sieci. Jednak ogromna sieć CDN, taka jak Akamai, ma setki lokalizacji serwerów treści, więc zwrócenie odpowiedzi „wystarczająco blisko” skutkuje przyzwoitym doświadczeniem użytkownika. Oczywiście posiadanie setek witryn jest bardzo drogie, dlatego żadna z CDN-ów nie wybierała tej drogi. W związku z tym nie pobierają oni również tyle za usługę w większości równoważną.
źródło
Istnieje wiele sposobów na poradzenie sobie z tym, ale wszystkie sprowadzają się do ustalenia, gdzie jest adres IP i odpowiedniego wskazania go. Na przykład możesz podać zakres adresów IP dla Ameryki Północnej i jeden dla Europy. Jeśli adres IP żądający informacji (z DNS, twojego serwera, twojego serwera treści itp.) Mieści się w europejskim zasięgu, twoje europejskie serwery powinny otrzymać żądania.
źródło
Możesz skonfigurować domyślną stronę główną w example.com. Przy pierwszej wizycie ktoś wybiera region, do którego chce zostać skierowany. W ten sam sposób działa www.ups.com.
Użytkownik może zaznaczyć pole wyboru, aby uczynić to jego / jej domyślnym wyborem od tego momentu, zapisując wybór w pliku cookie.
Daje to korzyść z używania DNS w sposób, w jaki został zaprojektowany zgodnie z Paulem Vixie, jednocześnie umożliwiając użytkownikowi dokonanie najdokładniejszej decyzji, do którego centrum danych powinien być skierowany.
źródło
Jeśli masz witrynę internetową obsługiwaną w wielu regionach, nie musisz nic robić na poziomie DNS. Możesz użyć interfejsu API, takiego jak http://ipinfo.io, aby uzyskać kraj odwiedzającego, a następnie przekierować go na odpowiedni adres URL.
Jeśli nie mówimy o witrynie ani żadnym protokole obsługującym przekierowania, istnieje kilka opcji na poziomie DNS. Możesz wykonać to samo wyszukiwanie kraju IP, a następnie zwrócić rekord, który pasuje do regionu (DNS oparty na geolokalizacji), lub możesz mieć mapę opóźnień między różnymi sieciami i zwrócić rekord, który reprezentuje najniższe opóźnienie dla użytkownika (opóźnienie oparty na DNS). Usługa DNS Route53 Amazon oferuje oba.
źródło