Это было после семи часов субботнего вечера, и я читал книгу, и вдруг ко мне подбежала моя девушка и спросила, куда делся ее iPad, а я торопился.
После того, как она получила iPad, она проигнорировала меня, но мне, как программисту, все еще любопытно, сможет ли Huya справиться с таким большим объемом трафика, хахаха. Итак, я подошел и посмотрел на него, и я увидел следующую сцену: 
Но прямая трансляция не казалась очень затянутой, поэтому я не мог не сказать кое-что:
Понятно, что в январе 2018 года Alibaba Cloud предоставила Huya услугу пограничного узла (ENS). На основе Alibaba Cloud ENS бизнес-модули можно легко запускать на периферии.Когда поток передается хостом, близлежащие узлы могут быть перекодированы и распределены, а также поддерживается граничное распределение заграждения с высокой степенью параллелизма в реальном времени. Обеспечивая низкую задержку в сети, он снижает нагрузку на центр, экономит более 30 % стоимости полосы пропускания центра и обеспечивает задержку сетевого подключения менее 5 миллисекунд на граничном узле, что улучшает качество восходящего потока привязки и доля успешных пользовательских подключений.Соотношение и эквивалентные показатели значительно улучшили впечатления пользователей от просмотра. Основной технологией в ENS является CDN.
Прямая трансляция, наконец, закончилась, и моя девушка, наконец, подошла и спросила меня, что такое CDN...
Что такое CDN
Полное название CDN — Content Delivery Network, то есть Content Delivery Network.
Все мы пользовались супермаркетом Tmall, в нем очень удобно покупать вещи. Модель супермаркета Tmall заключается в том, что товары сначала поступают на новый склад супермаркета Tmall (далее «Маочао»), а затем равномерно доставляются Маочао.
Чтобы сократить время логистики и позволить потребителям быстро получить товар, Cainiao построила локальные склады по всей стране.Теперь в большинстве случаев заказы, размещенные в Маочао, могут быть получены на следующий день (арендодатель находится в Цзянсу, Чжэцзян). и Шанхай).Почтовый индекс, другие районы могут немного задерживаться).
Например, в районе Сиху города Ханчжоу я разместил заказ и купил коробку закусок, и вскоре увидел, что Маочао доставил товар.Адрес доставки был Склад Сяошань в Ханчжоу, и он был доставлен. из одного района Ханчжоу в другой.Как пришли 24 часа.
Мы можем увидеть его склады по всей стране на официальном сайте Cainiao Network, Мы видим, что в настоящее время он охватывает 20 провинций и 70 городов по всей стране, всего 327 складов. Эти склады вместе называются «Национальная сеть складов».
Когда мы просматриваем Интернет, это на самом деле очень похоже на описанный выше процесс.Когда мы посещаем страницу, мы запрашиваем у сервера множество сетевых ресурсов, включая различные изображения, звуки, видео, тексты и другую информацию. Это то же самое, что и многие виды товаров, которые мы хотим купить.
Точно так же, как Maochao будет заранее хранить товары на местных складах, построенных Cainiao по всей стране, чтобы сократить время логистики, веб-сайт также может заранее распространять контент по узлам ускорения по всей стране. Таким образом, пользователи могут получить желаемый контент поблизости, избежать проблем с задержкой доступа, вызванных такими факторами, как перегрузка сети, регион и оператор, эффективно повысить скорость загрузки, сократить время отклика и обеспечить бесперебойную работу пользователей.
 Таким образом, «сеть распространения контента», как и упомянутая выше «национальная сеть распространения склада», решает проблему задержки доступа, вызванную распределением, пропускной способностью и производительностью сервера, и подходит для ускорения сайта, по требованию, прямых трансляций и других сценариев. . Это позволяет пользователям получать желаемый контент поблизости, решает ситуацию с перегрузкой сети Интернет и повышает скорость отклика и вероятность успешного доступа пользователей к веб-сайтам.
Складская распределительная сеть, помимо повышения эффективности распределения товаров, имеет много других преимуществ:
1. Прежде всего, благодаря предварительному распределению товаров процесс доставки конечных товаров со склада к потребителям относительно короток, поэтому существует множество вариантов дистрибьюторских компаний в пределах одного города, за исключением относительно больших четырех звеньев и одна доставка.В дополнение к SF Express, вы также можете выбрать несколько небольших логистических компаний, или даже Cainiao, напрямую позвонив по доставке Hummingbird Ele.me, не является невозможным.
Технология CDN устраняет влияние, вызванное узким местом взаимосвязи между различными операторами, реализует ускорение сети между операторами и гарантирует, что пользователи в разных сетях могут получить хорошее качество доступа.
2. Для складской распределительной системы самым большим бедствием могут быть стихийные бедствия, такие как пожар и наводнение на складе. Если исходный централизованный большой склад разбить на несколько распределенных небольших складов и развернуть в разных регионах, воздействие стихийных бедствий может быть эффективно снижено.
Широко распределенные узлы CDN и интеллектуальный механизм резервирования между узлами могут эффективно предотвратить хакерское вторжение и уменьшить влияние различных DDoS-атак на веб-сайт, обеспечивая при этом лучшее качество обслуживания.
Основной рабочий процесс CDN
Способ распространения, принятый традиционными компаниями экспресс-доставки, осуществляется по схеме «продавец → торговая точка → распределение → распределение → торговая точка → покупатель». В этом процессе будут некоторые проблемы, такие как много ссылок, медленное старение и легкое повреждение.
Вышеупомянутый процесс аналогичен процессу запроса-ответа на традиционном веб-сайте и обычно состоит из следующих шагов:
Пользователи вводят доменное имя веб-сайта, который они хотят посетить, в своем браузере.
Браузер запрашивает разрешение доменного имени с локального DNS-сервера.
Если результат разрешения этого доменного имени кэшируется на локальном DNS-сервере, он будет напрямую отвечать на запрос пользователя о разрешении.
Если локальный DNS-сервер не имеет кэша результатов разрешения доменного имени, он итеративно запрашивает разрешение у всей системы DNS, а затем возвращает результат в браузер после получения ответа.
Браузер получает результат разрешения доменного имени, который является IP-адресом сервисного устройства, соответствующего доменному имени.
После того, как браузер получит IP-адрес, он устанавливает TCP-соединение посредством стандартного процесса рукопожатия TCP.
Браузер инициирует HTTP-запрос к серверу.
Сервер передает контент, запрошенный пользователем, в браузер.
После стандартного процесса волны TCP соединение TCP разрывается.
После самостоятельной логистики электронной коммерции изменился режим распределения: предварительное складирование приведет к преобразованию удаленных частей в один и тот же город, что устраняет необходимость в магистральных ссылках для повышения своевременности и высокоавтоматической сортировки складского хранения. обеспечивает быструю доставку со склада, а также обеспечивает низкий уровень брака при сортировке.
Для пользователей процесс покупки не изменился, единственное ощущение, что логистика стала быстрее, чем раньше. Таким образом, после внедрения CDN пользователи обычно выполняют следующие действия при доступе к веб-сайту:
Когда пользователь щелкает URL-адрес контента на странице веб-сайта, он сначала разрешается локальной системой DNS.Если локальный DNS-сервер не имеет кеша соответствующего доменного имени, локальная система DNS предоставит право разрешения доменного имени на выделенный DNS-сервер CDN, на который указывает CNAME.
DNS-сервер CDN возвращает пользователю IP-адрес глобального устройства балансировки нагрузки CDN.
Пользователь инициирует запрос доступа по URL-адресу к глобальному устройству балансировки нагрузки CDN.
Глобальное устройство балансировки нагрузки CDN выбирает региональное устройство балансировки нагрузки в регионе, к которому принадлежит пользователь, на основе IP-адреса пользователя и URL-адреса, запрошенного пользователем, и перенаправляет запрос на это устройство.
После всестороннего анализа, основанного на следующих условиях, региональное устройство балансировки нагрузки выберет оптимальный узел сервера кэширования, получит IP-адрес сервера кэширования от узла сервера кэширования и, наконец, вернет полученный IP-адрес устройству глобальной балансировки нагрузки:
По IP-адресу пользователя определить, какой граничный узел ближе всего к пользователю;
В соответствии с именем контента, содержащимся в URL-адресе, запрошенном пользователем, определить, какой пограничный узел имеет контент, требуемый пользователем;
Запросите текущую загрузку каждого пограничного узла, чтобы определить, какой пограничный узел все еще имеет сервисные возможности.
Устройство глобальной балансировки нагрузки возвращает пользователю IP-адрес сервера.
Пользователь инициирует запрос к кэш-серверу, и кэш-сервер отвечает на запрос пользователя и передает контент, требуемый пользователем, на пользовательский терминал. Если на этом кэш-сервере нет контента, который хочет пользователь, и региональное балансировочное устройство по-прежнему назначает его пользователю, то сервер будет запрашивать контент со своего кэш-сервера верхнего уровня до тех пор, пока его нельзя будет отследить до исходного сервера. сайта Извлекайте контент локально.
Рисунок: Схематическая диаграмма ускорения всей станции HUAWEI CLOUD
Глобальное устройство балансировки нагрузки CDN и региональное устройство балансировки нагрузки CDN преобразуют доменное имя в IP-адрес сервера кэширования в соответствующем узле в соответствии с IP-адресом пользователя, чтобы пользователи могли получить доступ поблизости, тем самым повышая скорость сервера. отвечать на контент.
Состав CDN
Как мы уже говорили ранее, сеть распространения склада состоит из нескольких складов, точно так же сеть распространения контента (CDN) состоит из нескольких узлов. Вообще говоря, сеть CDN в основном состоит из центрального узла и пограничного узла.
центральный узел
Центральный узел включает в себя центр управления сетью CDN и глобальную систему разрешения перенаправления DNS с балансировкой нагрузки, которая отвечает за распределение и управление всей сетью CDN.
краевой узел
Пограничные узлы CDN в основном относятся к удаленным узлам распределения, состоящим из устройств балансировки нагрузки и кэш-серверов.
Устройство балансировки нагрузки отвечает за балансировку нагрузки каждого кэша в каждом узле для обеспечения эффективности работы узла; оно также отвечает за сбор информации об узле и окружающей среде, поддержание связи с глобальной DNS балансировки нагрузки. , и реализовать балансировку нагрузки всей системы.
Кэш-сервер (Cache) отвечает за хранение большого объема информации на веб-сайте клиента и отвечает на запрос доступа локального пользователя, как сервер веб-сайта, расположенный рядом с пользователем. Благодаря управлению DNS с глобальной балансировкой нагрузки запрос пользователя прозрачно направляется на ближайший узел, а сервер кэширования в узле, как исходный сервер веб-сайта, отвечает на запрос конечного пользователя. Поскольку он ближе к пользователю, его время отклика меньше.
Центральный узел подобен общему складу, отвечающему за размещение товаров в складской распределительной сети, а пограничный узел — это локальный склад в каждом городе, отвечающий за хранение товаров.
В настоящее время многие поставщики облачных услуг, предоставляющие услуги CDN, развернули множество узлов CDN в разных местах.Взяв в качестве примера Alibaba Cloud, мы можем узнать из официального сайта Alibaba Cloud, что Alibaba Cloud имеет более 2500 узлов по всему миру. Материковый Китай имеет более 2000 узлов, охватывающих 34 региона провинциального уровня, и большое количество узлов расположено в городах первого уровня, таких как столицы провинций. За рубежом, в Гонконге, Макао и Тайване насчитывается более 500 узлов, охватывающих более 70 стран и регионов.
С распределением узлов CDN Alibaba Cloud в материковом Китае, как показано выше (похоже ли это на национальную сеть складов Cainiao Network, которую мы видели ранее), пользователь телекоммуникационной сети в Ханчжоу может получить доступ к определенному. Когда веб-сайт развернут в облаке Alibaba, некоторые полученные ресурсы, такие как изображение, видео или некоторый текст на странице, могут быть предоставлены мобильным узлом хранения CDN, предварительно распределенным веб-сайтом в Чжэцзян, что может значительно сократить время отклика веб-сайта.
Технологии, связанные с CDN
Прежде всего, давайте подумаем, какие вопросы и технические средства необходимы для построения огромной складской и дистрибьюторской сети?
Автор считает, что в основном есть четыре важных момента, вызывающих озабоченность, а именно:
1. Как правильно распределить товар по локальным складам в разных городах.
2. Как правильно хранить товары на каждом локальном складе.
3. Как разумно сопоставить, с какого склада следует отгружать и какой метод логистики следует выбрать в соответствии с адресом доставки пользователя.
4. Как управлять всей системой складского распределения, такой как точность общего распределения грузов, своевременность складского распределения и степень соответствия места происхождения.
Это фактически совпадает с четырьмя наиболее важными технологиями в CDN, а именно публикацией контента, хранением контента, маршрутизацией контента и управлением контентом.
Выпуск контента
Он использует такие технологии, как индексирование, кэширование, разделение потоков и многоадресную рассылку (Multicast) для публикации или доставки контента в ближайшую к пользователю удаленную точку обслуживания (POP).
Хранение контента
Для систем CDN необходимо учитывать два аспекта хранения контента. Один — это хранилище источника контента, а другой — хранилище контента в узле Cache.
маршрутизация контента
Это целостная технология балансировки сетевой нагрузки.Благодаря механизму перенаправления (DNS) в маршрутизаторе контента запросы пользователей распределяются между несколькими удаленными точками присутствия, чтобы на запросы пользователей мог ответить ближайший источник контента.
Управление содержанием
Он получает информацию о состоянии сетевых компонентов через внутренние и внешние системы мониторинга и измеряет сквозную производительность публикации контента (например, потерю пакетов, задержку, среднюю пропускную способность, время запуска, частоту кадров и т. д.), чтобы гарантировать, что сеть находится в наилучшем рабочем состоянии.