Въведение в мрежата за доставка на съдържание Akamai

Akamai е един от водещите доставчици на мрежа за доставка на съдържание (CDN) в света. Чрез интелигентната платформа Akamai се предлагат много продукти за подпомагане на производителността, наличността, сигурността и генерирането на прозрения.

Други CDN включват Cloudflare, Fastly, MaxCDN, Incapsula и Rackspace.

Тук ще разгледаме какво е CDN, след това някои специфики около изпълнението на Akamai, включително:

  • Интелигентната платформа и крайните сървъри Akamai
  • Интерфейсът на Akamai и мениджър на имоти
  • Маршрутизация
  • Кеширане

Какво е CDN?

Потребителска заявка за съдържание в публичния Интернет може да изглежда проста, свързвайки се със сървъра, съдържащ съдържанието („произход на съдържанието“) и връщайки това на потребителя, но всъщност е много сложна.

Може да се наложи връзката да премине през много доставчици на интернет услуги (ISP), точки за връзки и центрове за данни в конкурентни мрежи и да не страда от постоянно налични маршрути.

Могат да се използват много различни типове устройства и честотна лента от различни глобални местоположения с различни типове съдържание.

Това може да доведе до колебания в скоростта и наличността, предизвикателства пред сигурността и малка видимост на случващото се между потребителя и произхода на съдържанието.

CDN дава повече контрол в ръцете на доставчика на съдържание и спомага за подобряване на практическата работа на крайния потребител.

Той прави това като действа като паралелна високопроизводителна мрежа, поддържайки собствена мрежа от силно разпределени сървъри. Разпръснати по много физически и мрежови местоположения, но оптимизирани като една мрежа, има повече контрол и надеждност за потребителските заявки.

Тъй като бизнесът расте, мащабирането, за да отговори на по-високи изисквания към произхода на съдържанието, също има предизвикателства. Също така ще разгледаме как CDN инструментите могат да се използват за намаляване на натоварването на оригинала, като помагат не само за подобряване на производителността, но и за намаляване на разходите, като намалят колко високо трябва да се мащабира произхода.

Интелигентна платформа Akamai

Akamai поддържа глобална мрежа от повече от 240 000 „крайни сървъри“. Те са разположени на "ръба" на Интернет, възможно най-близо до крайните потребители. За да се постигне това, много ръбови сървъри са дори разположени директно в доставчици на интернет услуги или в мобилни кули за данни, за да се намали още по-голямото забавяне между свързването към потребителския интернет доставчик преди преминаване в мрежата на Akamai.

Когато потребителят направи заявка, Akamai динамично картографира това към най-близкия наличен ръб сървър. Крайният сървър прилага бизнес правилата, посочени от доставчика на съдържание, преди да използва най-добрия наличен маршрут между всички други крайни сървъри в мрежата на Akamai за извличане на съдържание от произхода. Бизнес правилата се репликират на всеки ръб сървър.

Всяко налично и конфигурирано за кеширане съдържание се кешира на крайния сървър за бъдещи заявки, свързващи се с този възел. Ще разгледаме това по-подробно по-късно.

Сайтът се добавя към Akamai чрез добавяне на запис CNAME в DNS, който сочи от името на хоста, да речем „community.akamai.com“, към име на хост на Akamai, „community.akamai.com.edgekey.net“, където Akamai контролира картографирането на ръб сървър поема, за да присвои най-добрия наличен ръб сървър. Ако „изкопаете“ име на хост и видите „edgekey.net“, тогава знаете, че Akamai се използва от доставчика на съдържание.

Интерфейс Akamai

Akamai предоставя уеб GUI, наречен „Luna Control Center“, няколко API и CLI.

Както се вижда в раздела Монитор , са налични много инструменти за отчитане и анализ за генериране на прозрения на ниво CDN. При поискване се предлагат и дневници от крайни сървъри.

В раздела Конфигуриране ще се съсредоточим върху въвеждането на Property Manager и ще оставим други опции за бъдеща публикация.

А имот , понякога само като конфигурация , е основният начин да се контролира как модерните сървъри отговори на заявки за. Свойствата прилагат списък с правила към набор от имена на хостове и можете да приложите само едно свойство наведнъж към дадено име на хост. Правилата се състоят от критерии / условия на съвпадение и поведение . Допълнителен пример за това ще се види по-късно при разглеждане на кеширането. Правилото по подразбиране на всяко свойство трябва да посочва валиден код на доставчика на съдържание ( CP), който да се таксува и отчита за услугата. Правилата са „победи в последния мач“.

Съществува API на Property Manager (и CLI), с голям речник на понятията.

Когато правите промени в свойство, първо се създава нова версия, която позволява да се правят и тестват промени, докато предишното свойство остава активно. Новата версия може да бъде активирана за първи път в постановката Akamaiмрежа, към която разработчикът може да насочи локалната си машина да провежда тестове, преди да активира в производството Активирането на производството отнема приблизително десет минути, за да се разпространи глобално новата версия за всички ръбови сървъри, като опцията за бързо възстановяване се върне в рамките на минути.

Изпълнение на маршрута

В допълнение към предоставянето на все по-голямо количество разпределени ръбови сървъри, за да може да обслужва кеширано съдържание от възможно най-близо до всеки потребител, пътят до произхода на съдържанието може да бъде оптимизиран. В случая на Akamai това става чрез SureRoute.

Мрежата от сървъри на Akamai (потребител първо се свързва с крайния сървър и всеки следващ родител към този сървър) припокрива маршрута по подразбиране до началото. Маршрутът по подразбиране може да премине между няколко различни доставчици на интернет услуги и мрежи, които не винаги могат да си партнират добре. Както се вижда по-горе, връзката със загуби (или друго такова влошаване) може да означава, че не-очевидният маршрут е най-добрият вариант.

Най-добрият маршрут се намира в две стъпки.

  • Първо, сървърите на Akamai непрекъснато изпълняват сонди един срещу друг и с по-ниска скорост срещу произхода на всички клиенти на Akamai. Те се използват за изчисляване и разпределяне на централизиран списък с кандидат-маршрути между всеки сдвояване на крайния сървър / източник.
  • На второ място, за да се стеснят тези сурови кандидат-маршрути до един-единствен най-добър вариант, статичен тестов обект SureRoute се поставя от всеки клиент при техния специфичен произход с размер, подобен на средното очаквано съдържание. Състезанията за извличане на този обект периодично се провеждат между всеки ръб сървър и произхода, така че записът на този с най-ниска латентност и / или степен на загуба на пакети може да бъде актуализиран.

Това означава, че при всяка заявка към крайния сървър може да се използва най-бързият и надежден маршрут към този момент от време за достигане на началната точка.

Кеширане

Кеширането на ръб сървър може значително да намали латентността за крайния потребител.

Тъй като организациите за мащабиране на кеширането също могат да станат все по-важни за намаляване на натоварването на произхода на съдържанието, както за по-добра производителност, така и за намаляване на разходите.

Както е описано в отговора, даден на „Дали Akamai edge сървъри споделят кеширано съдържание“, крайните сървъри са групирани в мрежови „региони“. Ако кешът на конкретен граничен сървър не е попълнен, той ще изпрати локална заявка до другите сървъри на край в своя регион и ако връстник има съдържание, той ще обслужва отговора, преди да го кешира сам.

Ако всички кешове на локален партньор са празни (или остарели), тогава заявката ще бъде препратена до родителския сървър на ръба, където ще се извърши същата локална проверка между връстниците на родителя. Ако по целия маршрут не се кешира съдържание, то ще се върне към началната точка и ще попълни отново кеша с неговия отговор.

Използваният стандартен кеш ключ се състои от името на хоста (домейна), пътя и низа на заявката. Това може да бъде модифицирано, за да се намали мощността и / или да се даде повече контрол върху изчистването на кеша. Това може да бъде само чрез включване на конкретни параметри на заявката, така че изключване на неща като идентификатори на продукти, добавяне на стойностите на определени бисквитки, заглавки или дефинирани от потребителя променливи.

Условия за съвпадение (ако например бисквитката „ x “ съществува) може да се комбинира с поведение „байпас кеш“, за да се създадат разширени сценарии като кеширане на различно съдържание за потребители със сесия или за потребители на различни места.

Разширение на браузър като ModHeader може да се използва за преглед на Akamai Pragma Headers за локално изследване на поведението на кеширането.

Финални мисли

Използването на CDN осигурява по-голям контрол на доставчиците на съдържание, а инструменти като описаните по-горе осигуряват предимства, които са все по-важни при мащабна работа.

Докато тук са обсъждани специфични продукти за Akamai, подобни концепции за мащабна работа съществуват и при други доставчици на CDN.

Други специфики на Akamai може да бъдат разгледани в бъдеща публикация, не се колебайте да държите под око или да четете предложени следващи теми като:

  • Подобрения в сигурността с управление на сертификати и защитни стени за уеб приложения (WAF)
  • Мениджър на изображения за оптимизирана доставка на изображения
  • Cloudlets за осигуряване на гранулиран контрол извън цикъла на активиране на Property Manage с много видове, налични за различни случаи на употреба
  • Глобално управление на трафика (GTM) за базирано на DNS балансиране на натоварването
  • mPulse за използване на реални потребителски показатели (RUM) за мониторинг на ефективността

Благодаря за четенето ?

Можете също така да се насладите:

  • Ръководство за начинаещи за услугата за еластични контейнери на Amazon
  • Как постепенно да добавяте Flow към съществуващо приложение на React
  • Постепенно подобрение с CSS Grid