Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс

Көптеген адамдар Anycast туралы естіген шығар. Желіні адрестеу мен бағыттаудың бұл әдісінде бір IP мекенжайы желідегі бірнеше серверлерге тағайындалады. Бұл серверлер тіпті бір-бірінен қашықтағы деректер орталықтарында орналасуы мүмкін. Anycast идеясы мынада: сұрау көзінің орналасқан жеріне байланысты деректер ең жақын серверге (желі топологиясына сәйкес, дәлірек айтқанда, BGP маршруттау протоколы) жіберіледі. Осылайша, сіз желіге қосылулар мен кідірістердің санын азайта аласыз.

Негізінде, бір бағыт бүкіл әлем бойынша көптеген деректер орталықтарынан жарнамаланады. Осылайша, клиенттер BGP маршруттарына, деректер орталығына негізделген «ең жақсы» және «ең жақынға» жіберіледі. Неліктен Anycast? Неліктен Unicast орнына Anycast пайдалану керек?

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Unicast бір веб-сервері және орташа трафик мөлшері бар сайт үшін шынымен қолайлы. Дегенмен, егер қызметтің миллиондаған жазылушылары болса, ол әдетте әрқайсысында бірдей IP мекенжайы бар көптеген веб-серверлерді пайдаланады. Бұл серверлер сұрауларға оңтайлы қызмет көрсету үшін географиялық түрде таратылады.

Бұл сценарийде Anycast өнімділікті жақсартады (трафик пайдаланушыға аз кідіріспен жіберіледі), қызметтің сенімділігін қамтамасыз етеді (сақтық көшірме серверлерінің арқасында) және жүктемені теңестіреді - бірнеше серверлерге бағыттау олардың арасындағы жүктемені тиімді бөледі, жылдамдықты жақсартады. сайтының.

Операторлар клиенттерге Anycast және DNS негізіндегі жүктемені теңестірудің әртүрлі түрлерін ұсынады. Клиенттер сайттың географиялық орналасуына байланысты сұраулар жіберілетін IP мекенжайларын көрсете алады. Бұл пайдаланушы сұрауларын икемді түрде таратуға мүмкіндік береді.

Бірнеше сайттар бар делік, олардың арасында жүктемені (пайдаланушыларды) бөлу қажет, мысалы, күніне 100 000 сұраныс бар интернет-дүкен немесе танымал блог. Пайдаланушылар белгілі бір сайтқа кіретін аймақты шектеу үшін Geo Community опциясын пайдалануға болады. Бұл оператор бағытты жарнамалайтын аймақты шектеуге мүмкіндік береді.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Anycast және Unicast: айырмашылықтар

Anycast желі өнімділігін жақсартатын маршруттау шешімдерін қабылдауға мүмкіндік беретін DNS (домендік атаулар жүйесі) және CDN (мазмұнды жеткізу желілері) сияқты қолданбаларда жиі пайдаланылады. Мазмұнды жеткізу желілері Anycast қызметін пайдаланады, себебі олар трафиктің үлкен көлемімен айналысады және Anycast бұл жағдайда бірқатар артықшылықтарды береді (олар туралы толығырақ төменде). DNS жүйесінде Anycast қызметтің сенімділігі мен ақауларға төзімділік деңгейін айтарлықтай арттыруға мүмкіндік береді.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Anycast IP жүйесінде BGP пайдаланған кезде белгілі бір хостқа бірнеше маршруттар бар. Бұл шын мәнінде аз кідіріс қосылымдарын орнату үшін пайдаланылатын бірнеше деректер орталықтарындағы хосттардың көшірмелері.

Сонымен, Anycast желісінде бірдей IP мекенжайы әртүрлі жерлерден жарнамаланады және желі пайдаланушының сұрауын қайда бағыттау керектігін маршруттың «құны» негізінде шешеді. Мысалы, деректерді берудің ең қысқа жолын анықтау үшін BGP жиі пайдаланылады. Пайдаланушы Anycast сұрауын жіберген кезде, BGP желідегі қолжетімді Anycast серверлері үшін ең жақсы жолды анықтайды.

Anycast артықшылықтары

Кешіктіруді азайту
Anycast жүйесі бар жүйелер пайдаланушы сұрауларын өңдеу кезінде кідіріс уақытын азайта алады, себебі олар сізге ең жақын серверден деректерді алуға мүмкіндік береді. Яғни, пайдаланушылар әрқашан «ең жақын» (маршруттау протоколы тұрғысынан) DNS серверіне қосылатын болады. Нәтижесінде Anycast клиент пен сервер арасындағы желі қашықтығын азайту арқылы өзара әрекеттесу уақытын қысқартады. Бұл кешіктіруді азайтып қана қоймай, жүктемені теңестіруді қамтамасыз етеді.

Жылдамдық

Трафик ең жақын түйінге бағытталатындықтан және клиент пен түйін арасындағы кідіріс азайғандықтан, клиент қай жерден ақпаратты сұрайтынына қарамастан нәтиже оңтайландырылған жеткізу жылдамдығы болып табылады.

Тұрақтылық пен ақауларға төзімділіктің жоғарылауы

Дүние жүзіндегі бірнеше серверлер бір IP-ді пайдаланса, серверлердің бірі істен шыққан немесе ажыратылған болса, трафик ең жақын серверге қайта бағытталады. Нәтижесінде Anycast қызметті серпімді етеді және жақсырақ желіге кіруді/кідірісті/жылдамдықты қамтамасыз етеді. 

Осылайша, пайдаланушыларға үнемі қол жетімді бірнеше серверлерге ие бола отырып, Anycast, мысалы, DNS тұрақтылығын жақсартады. Түйін сәтсіз болса, пайдаланушы сұраулары қолмен араласусыз немесе қайта конфигурациялаусыз басқа DNS серверіне қайта бағытталады. Anycast проблемалы сайттың маршруттарын алып тастау арқылы басқа сайттарға іс жүзінде ашық ауысуды қамтамасыз етеді. 

Жүктемені теңестіру

Anycast жүйесінде желі трафигі әртүрлі серверлер бойынша таратылады. Яғни, ол кез келген бір сервердің трафиктің негізгі бөлігін алуына жол бермей, жүктемені теңестіруші ретінде әрекет етеді. Жүктемені теңестіруді, мысалы, сұрау көзінен бірдей географиялық қашықтықта бірнеше желі түйіндері болған кезде пайдалануға болады. Бұл жағдайда жүктеме түйіндер арасында бөлінеді.

DoS шабуылдарының әсерін азайтыңыз 

Anycast бағдарламасының тағы бір ерекшелігі оның DDoS кедергісі болып табылады. DDoS шабуылдарының Anycast жүйесін бұзуы екіталай, өйткені олар мұндай желідегі барлық серверлерді сұраныстардың көшкінімен басып кетуі керек еді. 

DDoS шабуылдары жиі ботнеттерді пайдаланады, олар шабуыл жасалған серверді шамадан тыс жүктеуге әкелетін трафикті тудыруы мүмкін. Бұл жағдайда Anycast-ты пайдаланудың артықшылығы - әрбір сервер шабуылдың бір бөлігін «жұтып» алуы, бұл нақты серверге жүктемені азайтады. Қызмет көрсетуден бас тарту шабуылы серверде локализациялануы мүмкін және бүкіл қызметке әсер етпейді.

Жоғары көлденең масштабтау

Anycast жүйелері трафиктің үлкен көлемі бар қызметтерге өте қолайлы. Anycast пайдаланатын қызмет трафикті өңдеу үшін жаңа серверлерді қажет етсе, оны өңдеу үшін желіге жаңа серверлерді қосуға болады. Оларды жаңа немесе бар сайттарға орналастыруға болады. 

Белгілі бір орын трафиктің үлкен өсуін сезінсе, серверді қосу сол сайттың жүктемесін теңестіруге көмектеседі. Жаңа сайтқа сервер қосу кейбір пайдаланушылар үшін жаңа ең қысқа жолды жасау арқылы күту уақытын қысқартуға көмектеседі. Екі әдіс те желіде жаңа серверлер қолжетімді болған кезде қызметтің тұрақтылығын жақсартуға көмектеседі. Осылайша, егер сервер шамадан тыс жүктелсе, оған шамадан тыс жүктелген сервер сұрауларының кейбір бөлігін қабылдауға мүмкіндік беретін орында басқасын орналастыруға болады. Бұл клиенттер тарапынан ешқандай конфигурацияны қажет етпейді. 

Тек осылай ғана серверде бірнеше 10 немесе 25 Гбит/с порттары болған кезде трафиктің терабиттеріне және өте көп пайдаланушыларға қызмет көрсетуге болады. Бір IP мекенжайы бар 100 хост трафиктің терабиттік көлемін өңдеуге мүмкіндік береді.

Жеңіл конфигурацияны басқару

Жоғарыда айтылғандай, Anycast-тың қызықты қолданылуы DNS болып табылады. Желілік түйіндерге бірнеше түрлі DNS серверлерін орналастыруға болады, бірақ бір DNS мекенжайын пайдаланыңыз. Көздің қай жерде орналасқанына байланысты сұраулар ең жақын түйінге бағытталады. Бұл DNS серверінің сәтсіздігі жағдайында трафикті теңестіруді және резервтеуді қамтамасыз етеді. Осылайша, әртүрлі DNS серверлерін олардың орналасқан жеріне байланысты конфигурациялаудың орнына, бір DNS серверінің конфигурациясын барлық түйіндерге таратуға болады.

Anycast желілері сұрауларды тек қашықтыққа ғана емес, сонымен қатар сервердің болуы, орнатылған қосылымдар саны сияқты параметрлерге бағыттау үшін конфигурациялануы мүмкін. немесе жауап беру уақыты.

Anycast технологиясын пайдалану үшін клиент тарапынан арнайы серверлер, желілер немесе арнайы компоненттер қажет емес. Бірақ Anycast-тың да кемшіліктері бар. Оны жүзеге асыру қосымша жабдықты, сенімді провайдерлерді және трафикті дұрыс бағыттауды талап ететін күрделі міндет деп саналады.

Таза көзден сұлулыққа дейін

Anycast пайдаланушыларды ең аз секірулер негізінде бағыттағанымен, бұл міндетті түрде ең төменгі кідіріс дегенді білдірмейді. Кешігу күрделірек көрсеткіш болып табылады, себебі ол онға қарағанда бір өту үшін жоғары болуы мүмкін.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Мысал: Құрлықаралық байланыс өте жоғары кідіріспен бір секіруді қамтуы мүмкін.

Anycast негізінен DNS сияқты UDP негізіндегі қызметтер үшін пайдаланылады. Пайдаланушы сұраулары BGP бағыттарына негізделген «ең жақсы» және «ең жақын» деректер орталығына бағытталады.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Мысал: Anycast DNS IP мекенжайы 123.10.10.10 болатын DNS клиентінің жұмыс станциясы DNS ажыратымдылығын бірдей Anycast IP мекенжайы арқылы орналастырылған үш DNS атау серверінің ең жақынына орындайды. Егер R1 маршрутизаторы немесе A сервері сәтсіз болса, DNS клиент пакеттері R2 және R3 маршрутизаторлары арқылы келесі ең жақын DNS серверіне автоматты түрде жіберіледі. Сонымен қатар, серверіміздің A бағыты маршруттау кестелерінен жойылады, бұл аттар серверін одан әрі пайдалануды болдырмайды.

Орналастыру сценарийлері

Пайдаланушы қай серверге қосылатынын анықтау үшін пайдаланылатын екі жалпы схема бар:

  • Кез келген тарату желісінің деңгейі. Пайдаланушыны ең жақын серверге қосады. Мұнда пайдаланушыдан серверге дейінгі желі жолы маңызды.
  • Қолданба деңгейі кез келген трансляция. Бұл схемада сервер қолжетімділігін, жауап беру уақытын, қосылымдар санын және т.б. қоса есептелген көрсеткіштер бар. Бұл желі статистикасын қамтамасыз ететін сыртқы мониторға байланысты.

Anycast негізіндегі CDN

Енді мазмұнды жеткізу желілерінде Anycast пайдалануына оралайық. Anycast - бұл, әрине, қызықты желілік концепция және келесі буын CDN провайдерлері арасында көбірек қабылдануда.

CDN – жоғары қолжетімділікпен және төмен кідіріспен соңғы пайдаланушыларға мазмұнды жеткізетін серверлердің бөлінген желісі. Мазмұнды жеткізу желілері бүгінде көптеген онлайн медиа қызметтерінің негізі ретінде маңызды рөл атқарады, ал тұтынушылар жүктеп алу жылдамдығының баяулауына барған сайын шыдамдылық танытуда. Бейне және дауыстық қолданбалар желілік дірілге және кідіріске әсіресе сезімтал.

CDN барлық серверлерді бір желіге қосады және мазмұнның жылдам жүктелуін қамтамасыз етеді. Кейде пайдаланушының күту уақытын 5-6 секундқа қысқартуға болады. CDN мақсаты соңғы пайдаланушыға ең жақын серверден мазмұнға қызмет көрсету арқылы жеткізуді оңтайландыру болып табылады. Бұл соңғы пайдаланушының орналасқан жеріне байланысты ең жақын сервер таңдалатын Anycast-қа өте ұқсас. Әрбір CDN қызмет провайдері әдепкі бойынша Anycast-ты пайдаланатын сияқты, бірақ іс жүзінде олай емес.

HTTP/TCP сияқты протоколдарды пайдаланатын қолданбалар орнатылып жатқан қосылымға сүйенеді. Жаңа Anycast түйіні таңдалса (мысалы, сервер ақаулығына байланысты), қызмет үзілуі мүмкін. Сондықтан Anycast бұрын UDP және DNS сияқты қосылымсыз қызметтер үшін ұсынылды. Дегенмен, Anycast қосылымға бағытталған протоколдар үшін де жақсы жұмыс істейді; мысалы, TCP Anycast режимінде жақсы жұмыс істейді.

Кейбір CDN провайдерлері Anycast негізіндегі маршруттауды пайдаланады, басқалары DNS негізіндегі маршруттауды қалайды: ең жақын сервер пайдаланушының DNS сервері орналасқан жер негізінде таңдалады.

Гибридті және көп деректер орталығының инфрақұрылымдары Anycast пайдаланудың тағы бір мысалы болып табылады. Провайдерден алынған Load Balancing IP мекенжайы провайдердің деректер орталығындағы әртүрлі клиенттік қызметтердің IP мекенжайлары арасында жүктемені бөлуге мүмкіндік береді. Кез келген құрылғы технологиясының арқасында ол көп трафик жағдайында жақсы өнімділікті, ақауларға төзімділікті қамтамасыз етеді және көптеген пайдаланушылармен жұмыс істегенде жауап беру уақытын оңтайландыруға көмектеседі.

Гибридті көп деректер орталығының инфрақұрылымдарында трафикті серверлер немесе тіпті арнайы серверлердегі виртуалды машиналар арқылы тарата аласыз.

Осылайша, инфрақұрылымды құру үшін техникалық шешімдердің үлкен таңдауы бар. Сондай-ақ, торап өнімділігін оңтайландыру үшін топтағы кез келген құрылғыны бағыттап, бірнеше деректер орталықтары арқылы IP мекенжайлары бойынша жүктемені теңестіруді конфигурациялауға болады.

Әрбір деректер орталығында таратылған серверлердің әрқайсысының «салмасын» анықтай отырып, трафикті өз ережелеріңізге сәйкес тарата аласыз. Бұл конфигурация әсіресе бөлінген сервер паркі болған кезде және қызметтердің өнімділігі біркелкі болмағанда пайдалы. Бұл сервер жұмысын жақсарту үшін трафикті жиірек таратуға мүмкіндік береді.

Ping пәрменін пайдаланып бақылау жүйесін жасау үшін зондтарды конфигурациялауға болады. Бұл әкімшіге өздерінің бақылау процедураларын анықтауға және инфрақұрылымдағы әрбір құрамдастың күйі туралы нақтырақ суретті алуға мүмкіндік береді. Осылайша, қолжетімділік критерийлерін анықтауға болады.

Гибридті инфрақұрылымды құруға болады: кейде корпоративтік желіде бэк-офистен шығып, интерфейс бөлігін провайдерге аутсорсингке беру ыңғайлы.

Жүктемені теңестіру, жіберілетін деректерді шифрлау және сайтқа кірушілер мен корпоративтік инфрақұрылым арасындағы байланыстың қауіпсіздігі үшін SSL сертификаттарын қосуға болады. Деректер орталықтары арасында жүктемені теңестіру жағдайында SSL де пайдаланылуы мүмкін.

Мекенжай жүктемесін теңестіретін Anycast қызметін провайдеріңізден алуға болады. Бұл мүмкіндік пайдаланушылардың орналасқан жеріне байланысты қолданбалармен өзара әрекеттесуін жақсартуға көмектеседі. Дата орталығында қандай қызметтер қолжетімді екенін хабарлау жеткілікті, ал трафик жақын орналасқан инфрақұрылымға қайта бағытталады. Егер арнайы серверлер болса, мысалы, Францияда немесе Солтүстік Америкада, клиенттер желідегі ең жақын серверге бағытталады.

Anycast пайдалану опцияларының бірі оператордың қатысу нүктесін (PoP) оңтайлы таңдау болып табылады. берейік мысал. LinkedIn (Ресейде бұғатталған) өз өнімдерінің - мобильді және веб-қосымшалардың өнімділігі мен жылдамдығын жақсартуға ғана емес, сонымен қатар мазмұнды жылдам жеткізу үшін желілік инфрақұрылымын жақсартуға тырысады. Бұл динамикалық мазмұнды жеткізу үшін LinkedIn белсенді түрде PoP – қатысу нүктелерін пайдаланады. Anycast пайдаланушыларды ең жақын PoP-ке бағыттау үшін пайдаланылады.

Себебі, Unycast жағдайында әрбір LinkedIn PoP бірегей IP мекенжайы болады. Содан кейін пайдаланушылар DNS арқылы географиялық орналасуына қарай PoP-ге тағайындалады. Мәселе мынада, DNS пайдалану кезінде АҚШ-тағы пайдаланушылардың шамамен 30% оңтайлы емес PoP-ге қайта бағытталды. Anycast-ты кезең-кезеңімен енгізу арқылы оңтайлы емес PoP тағайындау 31%-дан 10%-ға дейін төмендеді.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Пилоттық сынақтың нәтижелері графикте көрсетілген, мұнда Y осі оңтайлы PoP тағайындау пайызы болып табылады. Anycast дамып келе жатқанда, АҚШ-тың көптеген штаттары оңтайлы PoP-ке қарай трафик пайызының жақсарғанын байқады.

Anycast желі мониторингі

Anycast желілері теориялық тұрғыдан қарапайым: бірнеше физикалық серверлерге BGP маршрутты анықтау үшін пайдаланатын бірдей IP мекенжайы тағайындалады. Бірақ Anycast платформаларының орындалуы мен дизайны күрделі және ақауларға төзімді Anycast желілері бұл үшін ерекше танымал. Одан да қиыны ақауларды жылдам анықтау және оқшаулау үшін Anycast желісін тиімді бақылау.

Егер қызметтер мазмұнына қызмет көрсету үшін үшінші тарап CDN провайдерін пайдаланса, олар үшін желі өнімділігін бақылау және тексеру өте маңызды. Anycast негізіндегі CDN мониторингі қай деректер орталығының мазмұнға қызмет көрсететінін түсіну үшін соңғы кідіріс пен соңғы секп өнімділігін өлшеуге бағытталған. HTTP серверінің тақырыптарын талдау деректердің қайдан келетінін анықтаудың тағы бір жолы болып табылады.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Мысал: CDN серверінің орнын көрсететін HTTP жауап тақырыптары.

Мысалы, CloudFlare сұрау жасалған деректер орталығының көрсеткішін қамтитын HTTP жауап хабарларында өзінің CF-Ray тақырыбын пайдаланады. Zendesk жағдайында Сиэтл аймағы үшін CF-Ray тақырыбы CF-RAY: 2a21675e65fd2a3d-SEA, ал Амстердам үшін бұл CF-RAY: 2a216896b93a0c71-AMS. Мазмұнның қай жерде орналасқанын анықтау үшін HTTP жауапындағы HTTP-X тақырыптарын да пайдалануға болады.

Басқа адрестеу әдістері

Пайдаланушы сұрауларын белгілі бір желінің соңғы нүктесіне бағыттаудың басқа да адрестеу әдістері бар:

Біржолғы

Бүгінгі күні Интернеттің көпшілігі осы әдісті қолданады. Unicast – Unicast жіберу, IP мекенжайы желідегі бір ғана нақты түйінмен байланысты. Бұл бір-бірден сәйкестік деп аталады. 

Мультикаст

Көп тарату бір-көп немесе көп-көп қатынасын пайдаланады. Multicast жіберуші сұрауын бір уақытта әртүрлі таңдалған соңғы нүктелерге жіберуге мүмкіндік береді. Бұл клиентке файлды бірнеше хосттардан бір уақытта жүктеп алу мүмкіндігін береді (бұл аудио немесе бейне ағыны үшін пайдалы). Көп таратуды Anycast-пен жиі шатастыруға болады.Бірақ негізгі айырмашылығы, Anycast жіберушіні бірнеше түйіндер қол жетімді болса да, белгілі бір түйінге бағыттайды.

хабар

Жалғыз жіберушіден алынған датаграмма тарату мекенжайымен байланысты барлық соңғы нүктелерге жіберіледі. Таратылымдағы барлық алушыларға (әдетте бір ішкі желіде) қол жеткізу үшін желі автоматты түрде датаграммаларды қайталайды.

Geocast

Geocast мультикастқа біршама ұқсас: жіберуші сұраулары бір уақытта бірнеше соңғы нүктелерге жіберіледі. Бірақ, айырмашылығы – адресат оның географиялық орнымен анықталады. Бұл мобильді арнайы желілерге арналған кейбір маршруттау протоколдары қолданатын мультикасттың мамандандырылған түрі.

Географиялық маршрутизатор өзінің қызмет көрсету аймағын есептеп, оны жақындатады. Georouters, қызмет көрсету аймақтарын алмасу, маршруттау кестелерін құру. Геомаршрутизатор жүйесі иерархиялық құрылымға ие.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Unicast, Multicast және Broadcast.

Anycast технологиясын пайдалану сенімділік деңгейін, ақауларға төзімділік пен DNS қауіпсіздігін арттырады. Осы технологияны пайдалана отырып, операторлар өз клиенттеріне DNS негізіндегі жүктемені теңестірудің әртүрлі түрлері бойынша қызметтерді ұсынады. Басқару тақтасында географиялық орынға байланысты сұраулар жіберілетін IP мекенжайларын көрсетуге болады. Бұл клиенттерге пайдаланушы сұрауларын икемді түрде тарату мүмкіндігін береді.

Кейбір операторлар әрбір қатысу нүктесінде (POP) бағытты бақылау мүмкіндіктерін жүзеге асырады: жүйе болу нүктелері үшін ең қысқа жергілікті және жаһандық маршруттарды автоматты түрде талдайды және оларды нөлдік тоқтау уақытымен ең аз кешіктірілген географиялық орындар арқылы бағыттайды.

Қазіргі уақытта Anycast тұрақтылық пен сенімділікке жоғары талаптар қоятын, жоғары жүктемелі DNS қызметтерін құруға арналған ең тұрақты және сенімді шешім болып табылады.

.ru домені 35 түйінге топтастырылған, бес Anycast бұлтында таратылған 20 Anycast DNS серверін қолдайды. Бұл жағдайда географиялық сипаттамаларға негізделген құрылыс принципі пайдаланылады, яғни. Geocast. DNS түйіндерін орналастыру кезінде олардың ең белсенді пайдаланушыларға жақын географиялық дисперсті орындарға көшірілуі, түйін орналасқан жерде ресейлік провайдерлердің максималды шоғырлануы, сондай-ақ бос сыйымдылықтың болуы және жұмыс істеудің қарапайымдылығы қарастырылады. сайтпен өзара әрекеттесу.

CDN қалай құруға болады?

CDN – пайдаланушыларға мазмұнды жеткізуді жылдамдататын серверлер желісі. Мазмұнды жеткізу желісі барлық серверлерді бір желіге біріктіреді және мазмұнды жылдам жүктеуді қамтамасыз етеді. Жүктеу жылдамдығында серверден пайдаланушыға дейінгі қашықтық маңызды рөл атқарады.

CDN мақсатты аудиторияға ең жақын серверлерді пайдалануға мүмкіндік береді. Бұл күту уақытын қысқартады және барлық келушілер үшін сайт мазмұнын жүктеуді жылдамдатуға көмектеседі, бұл әсіресе үлкен файлдары немесе мультимедиялық қызметтері бар сайттар үшін өте маңызды. CDN үшін әдеттегі қолданбалар электрондық коммерция және ойын-сауық болып табылады.

Пайдаланушыларға мүмкіндігінше жақын орналасқан CDN инфрақұрылымында құрылған қосымша серверлер желісі деректерді неғұрлым тұрақты және жылдам жеткізуге ықпал етеді. Статистикаға сәйкес, CDN пайдалану CDN жоқ сайттармен салыстырғанда сайтқа кіру кезіндегі кідірісті 70%-дан астамға азайтады.

қалай DNS көмегімен CDN жасаңыз? Anycast-тың жеке шешімін пайдаланып CDN орнату өте қымбат жоба болуы мүмкін, бірақ арзанырақ нұсқалар бар. Мысалы, GeoDNS және бірегей IP мекенжайлары бар кәдімгі серверлерді пайдалануға болады. GeoDNS қызметтерін пайдалана отырып, сіз геолокация мүмкіндіктері бар CDN жасай аласыз, мұнда шешімдер DNS шешушісінің орнына емес, келушінің нақты орналасқан жеріне негізделіп қабылданады. АҚШ келушілеріне АҚШ серверінің IP мекенжайларын көрсету үшін DNS аймағын конфигурациялауға болады, бірақ еуропалық келушілер еуропалық IP мекенжайын көреді.

GeoDNS көмегімен пайдаланушының IP мекенжайына байланысты әртүрлі DNS жауаптарын қайтаруға болады. Мұны істеу үшін DNS сервері сұраудағы бастапқы IP мекенжайына байланысты әртүрлі IP мекенжайларын қайтаратын етіп конфигурацияланған. Әдетте GeoIP дерекқоры сұрау жасалған аймақты анықтау үшін пайдаланылады. DNS арқылы геолокация пайдаланушыларға жақын сайттан мазмұн жіберуге мүмкіндік береді.

GeoDNS DNS сұрауын жіберген клиенттің IP мекенжайын немесе клиент сұранысын өңдеу кезінде пайдаланылатын провайдердің рекурсивті DNS серверінің IP мекенжайын анықтайды. Ел/аймақ клиенттің IP және GeoIP дерекқорымен анықталады. Содан кейін клиент ең жақын CDN серверінің IP мекенжайын алады. GeoDNS орнату туралы қосымша ақпаратты оқуға болады осында.

Anycast немесе GeoDNS?

Anycast ғаламдық ауқымда мазмұнды жеткізудің тамаша тәсілі болғанымен, оның ерекшелігі жоқ. Бұл жерде GeoDNS көмекке келеді. Бұл қызмет пайдаланушыларды орналасқан жеріне негізделген бірегей соңғы нүктелерге жіберетін ережелерді жасауға мүмкіндік береді.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс
Мысал: Еуропадағы пайдаланушылар басқа соңғы нүктеге бағытталған.

Сондай-ақ, барлық сұраулардан бас тарту арқылы домендерге кіруден бас тартуға болады. Бұл, атап айтқанда, зиянкестерді жоюдың жылдам жолы.

GeoDNS Anycast-қа қарағанда дәлірек жауаптар береді. Егер Anycast жағдайында ең қысқа жол секірулер санымен анықталса, GeoDNS-те соңғы пайдаланушыларға арналған маршруттау олардың физикалық орналасуына байланысты орын алады. Бұл кідірісті азайтады және түйіршікті бағыттау ережелерін жасау кезінде дәлдікті жақсартады.

Доменге шарлау кезінде браузер доменге байланысты сайтты жүктеу үшін IP мекенжайын беретін ең жақын DNS серверімен байланысады. Интернет-дүкен АҚШ пен Еуропада танымал деп есептейік, бірақ оған арналған DNS серверлері тек Еуропада қол жетімді. Содан кейін дүкеннің қызметтерін пайдаланғысы келетін АҚШ пайдаланушылары ең жақын серверге сұрау жіберуге мәжбүр болады және ол өте алыс болғандықтан, жауап алу үшін ұзақ уақыт күтуге тура келеді - сайт тез жүктелмейді.

GeoDNS сервері АҚШ-та орналасқанда, пайдаланушылар оған қол жеткізе алады. Жауап жылдам болады, бұл сайттың жүктелу жылдамдығына әсер етеді.

Құрама Штаттардағы бар DNS серверіне қатысты жағдайда, Америка Құрама Штаттарынан келген пайдаланушы берілген доменге өткенде, ол қажетті IP-мен қамтамасыз ететін ең жақын серверге хабарласады. Пайдаланушы сайт мазмұнын қамтитын серверге бағытталады, бірақ мазмұны бар серверлер алыс болғандықтан, ол оны тез қабылдамайды.

Егер сіз CDN серверлерін кэштелген деректермен АҚШ-та орналастырсаңыз, клиентті жүктегеннен кейін браузер қажетті IP мекенжайын қайтаратын ең жақын DNS серверіне сұрау жібереді. Алынған IP мекенжайы бар шолғыш ең жақын CDN серверімен және негізгі сервермен байланысады, ал CDN сервері браузерге кэштелген мазмұнға қызмет көрсетеді. Кэштелген мазмұн жүктеліп жатқанда, толық торапты жүктеу үшін жетіспейтін файлдар негізгі серверден алынады. Нәтижесінде сайтты жүктеу уақыты қысқарады, себебі негізгі серверден әлдеқайда аз файлдар жіберіледі.

Белгілі бір IP-мекен-жайдың нақты орнын анықтау әрқашан оңай емес: көптеген факторлар бар және IP-мекен-жайлар ауқымының иелері оны әлемнің басқа жағында жарнамалауды шешуі мүмкін (сонда сізге қажет болады). дұрыс орынды алу үшін дерекқордың жаңартылуын күтіңіз). Кейде VPS провайдерлері АҚШ-та орналасқан мекенжайларды Сингапурдағы VPS-ке тағайындайды.

Anycast мекенжайларын пайдаланудан айырмашылығы, тарату кэштеу серверіне қосылу кезінде емес, атауды шешу кезінде орындалады. Егер рекурсивті сервер EDNS клиентінің ішкі желілеріне қолдау көрсетпесе, кэштеу серверіне қосылатын пайдаланушының орнына сол рекурсивті сервердің орны пайдаланылады.

DNS ішіндегі Client Subnets - бұл DNS (RFC7871) кеңейтімі, ол рекурсивті DNS серверлерінің DNS серверіне клиенттік ақпаратты, әсіресе GeoDNS сервері клиенттің орнын дәлірек анықтау үшін пайдалана алатын желілік ақпаратты жібере алатынын анықтайды.

Олардың көпшілігі географиялық тұрғыдан жақын орналасқан Интернет провайдерінің DNS серверлерін немесе DNS серверлерін пайдаланады, бірақ егер АҚШ-тағы біреу қандай да бір себептермен Австралияда орналасқан DNS шешу құралын пайдалануды шешсе, олар Австралияға ең жақын IP сервер мекенжайына ие болуы мүмкін.

GeoDNS пайдаланғыңыз келсе, бұл мүмкіндіктерді білу маңызды, өйткені кейбір жағдайларда кэштеу серверлері мен клиент арасындағы қашықтықты арттыруы мүмкін.

Түйіндеме: егер сіз бірнеше VPS-ті CDN-ге біріктіргіңіз келсе, онда ең жақсы орналастыру нұсқасы - GeoDNS + Anycast функциясы бар DNS сервер жинағын қораптан тыс пайдалану.

Anycast vs Unicast: әр жағдайда қайсысын таңдаған дұрыс

Ақпарат көзі: www.habr.com

пікір қалдыру