Высокоэффективное оружие: CDN Предлагаю изучить!

задняя часть внешний интерфейс
Высокоэффективное оружие: CDN Предлагаю изучить!

Обмен сухими товарами с твердым сердечником, добро пожаловать, обратите внимание [Учебник по Java】 На пути роста, давайте двигаться вперед вместе!
«Серия высокой доступности»Он был включен в колонку, обратите внимание!

Обзор CDN

CDNполное имяContent Delivery Network, сеть распространения контента. Основная идея состоит в том, чтобы максимально избежать узких мест и ссылок, которые могут повлиять на скорость и стабильность передачи данных в Интернете, чтобы передача контента была более быстрой и стабильной.

CDN工作原理Это кеширование ресурсов исходного сайта на каждом узле CDN.Когда запрос попадает в кеш ресурсов определенного узла, он немедленно возвращается клиенту, чтобы предотвратить получение каждого запрошенного ресурса через источник. сайта, избегайте перегрузки сети и снижайте нагрузку на исходный сайт. Обеспечьте скорость и удобство доступа пользователей к ресурсам.

дать один生活пример в , мы на чем-то购买商品, Экспресс-доставка может быть доставлена ​​в тот же день, и ее основной принцип заключается в создании локальных складов по всей стране. Когда пользователь покупает товар,智能仓配模式, чтобы потребители могли выбрать ближайший склад для доставки, чтобы缩短Время доставки логистики.

image.png

Для распределения товарных запасов процесс может относиться к следующему рисунку с завода(源站)-> Региональный склад(二级缓存)-> местный склад(一级缓存)

image.png

内容分发网络как упоминалось ранее智能仓配网络Точно так же он решает проблему задержки доступа, вызванную распределением, пропускной способностью и производительностью сервера, и подходит для ускорения сайта, VOD, прямых трансляций и других сценариев. Это позволяет пользователям получать желаемый контент поблизости, решает ситуацию с перегрузкой сети Интернет и повышает скорость отклика и вероятность успешного доступа пользователей к веб-сайтам.

Рождение CDN

image.png

CDN родился более 20 лет назад, чтобы решить проблемы с сервером-источником контента и его передачей.骨干网Проблема избыточного сетевого давления, в1995лет, профессор Массачусетского технологического института, один из изобретателей ИнтернетаTom LeightonПод руководством аспиранта Дэнни Левина и нескольких других ведущих исследователей они попытались решить проблему перегрузки сети с помощью математических задач.

Они используют математические алгоритмы для обработки динамической маршрутизации контента и в конечном итоге решают проблему, которая беспокоит пользователей Интернета. Джонатан Силиг, студент MBA Sloan School of Management, присоединился к команде Лейтона, и с тех пор они приступили к разработке собственного бизнес-плана, кульминацией которого стало официальное открытие компании 20 августа 1998 года под названием Akamai.AkamaiКомпания положила конец затруднительной ситуации «Всемирное ожидание» с помощью интеллектуального распространения через Интернет.

В 1998 году первая компания CDN в КитаеChinaCacheучредил

Как работают CDN

Доступ к CDN

в доступеCDNРаньше, когда мы посещаем доменное имя, мы сразу получаем IP-адрес первого реального сервера, весь процесс выглядит следующим образом (картинка немного сырая)

image.png

Когда нам нужно ускорить веб-сайт, мы регистрируем собственное доменное имя ускорения и доменное имя исходного сайта у оператора, а затем вводим информацию о конфигурации DNS нашего собственного доменного имени.Aзапись изменена наCNAMEПросто запишите это. Ссылка на приложение для ускорения Alibaba Cloud выглядит следующим образом:

image.png

Процесс доступа к CDN

image.png

  • 1. Когда пользователь получает доступ к содержимому изображения, сначала пройдите через本地DNSПарсить, если LDNS попадает, возвращать напрямую пользователю.
  • 2,LDNSМИСС, вперед授权DNSЗапрос
  • 3. Вернуть доменное имяCNAME picwebws.pstatp.com.wsglb0.com.Соответствующий IP-адрес (фактически IP-адрес системы планирования DNS)
  • 4. Запрос разрешения доменного имени отправляется наDNS调度系统, система планирования DNS присваивает запросу лучший IP-адрес узла.
  • 5. Анализ возвратаIP地址
  • 6. Пользователь для缓存服务器Инициируется запрос, и сервер кэширования отвечает на запрос пользователя и передает контент, требуемый пользователем, на пользовательский терминал.

Рисунок: Схематическая диаграмма ускорения на уровне станции HUAWEI CLOUD

image.png

Какие проблемы решают CDN

Нагрузка на магистральную сеть слишком высока

Tom Leightonсуществует1995Годы заставили команду попытаться решить проблему перегрузки сети с помощью математических задач, чтобы решить骨干网Проблема избыточного сетевого давления. так как上网冲浪Подростков становится все больше и больше, из-за чего пропускная способность основных узлов магистральной сети становится недостаточной для поддержки роста пользователей Интернета.CDNМожно предотвратить прохождение пользовательского трафика через магистральную сеть.

Магистральная сеть — это глобальная локальная сеть, в которой поставщики услуг Интернета уровня 1 (ISP) соединяют свои высокоскоростные оптоволоконные сети вместе, чтобы сформировать основу Интернета, обеспечивая эффективный поток трафика между различными географическими областями.

1. ЛВС

局域网(Local Area Network,LAN)Имеется в виду группа компьютеров, соединенных между собой несколькими компьютерами в определенной области.Например: в колледже, когда сеть отключалась после 12 часов вечера, мы все еще можем открыть взлом через роутер.CS,魔兽. Это основано на взаимодействии локальных сетей для реализации обмена данными и обмена информацией.

image.png

2. Магистральная сеть

Вот ссылка на всю сетевую архитектуру China Telecom.Магистральная сеть может быть понята как национальная локальная сеть.Благодаря обмену трафиком основных узлов осуществляется взаимодействие всей сети. Вот почему мы называем互联网причина.

Пекин, Шанхай и Гуанчжоу являются супер-ядрами ChinaNet. В дополнение к суперядрам ChinaNet также имеет обычные ядра, такие как Тяньцзинь, Сиань, Нанкин, Ханчжоу, Ухань и Чэнду.

image.png

три километра

Обычно в доступе к сети будет расстояние «три километра»

  • Первый километр: от исходной станции до точки доступа провайдера.
  • Второй километр: точка доступа интернет-провайдера исходного сайта к точке доступа интернет-провайдера посетителя.
  • Третий километр (последний километр): точка доступа пользователя ISP к клиенту пользователя

Сетевой уровень CDN в основном используется для加速второй километр (middlemile),

В инфраструктуре CDN для ускорения обычно используются два уровня серверов:

  • L1 (нижний уровень): чем ближе он к пользователям (или пользователям сети), тем лучше.Обычно он используется для кэширования статических данных, которые можно кэшировать, что называется последней милей.
  • L2 (верхний уровень): чем ближе к исходной станции, тем лучше, так называемый firstmile (первый километр).Когда L1 не может попасть в кеш или содержимое не может быть кэшировано, запрос будет прозрачно передан на L2 через L1.Если L2 по-прежнему не попадает в кеш Или содержимое не может быть закэшировано, оно будет продолжать прозрачно передаваться вверх по течению L2 (это может быть исходный сайт, или это может быть L3).В то же время L2 также может выполнять на порядок сходимость трафика и количества запросов, уменьшение количества обращений к источнику (при наличии возможности кэширования), снижение нагрузки на исходную станцию.
  • Часть между L1 и L2 — это «внутренняя сеть» CDN, называемая промежуточной милей.

image.png

Состав CDN

Глобальная система балансировки нагрузки GLB (Глобальная балансировка нагрузки)

image.png

  • Когда пользователь посещает веб-сайт, который присоединился к службе CDN, запрос на разрешение доменного имени будет окончательно обработан «DNS с интеллектуальным планированием».
  • Он использует набор предопределенных стратегий для最接近用户Адрес узла предоставляется пользователям, чтобы пользователи могли получить быстрое обслуживание.
  • В то же время ему необходимо поддерживать связь с узлами CDN, распределенными в разных местах, отслеживать состояние работоспособности, емкость и другую информацию каждого узла, а также обеспечивать распределение пользовательских запросов на ближайшие доступные узлы.

кеш-сервер

Основной функцией кэш-сервера является кэширование горячих данных. Типы данных включают в себя:静态资源(html, js, css и т. д.),多媒体资源(img, mp3, mp4 и т. д.) и динамические данные (边缘渲染)Ждать.

Хорошо известное программное обеспечение с открытым исходным кодом, связанное с CDN:

  • Squid
  • Varnish
  • Nginx
  • OpenResty
  • ATS
  • HAProxy

Для конкретного сравнения, пожалуйста, обратитесь к:blog.CSDN.net/Joey on1985/…

Многоуровневая архитектура CDN

image.png

источник

Источник относится к исходному сайту, на котором публикуется контент. Добавление, удаление и изменение файлов веб-сайта выполняются на исходном сайте; кроме того, все объекты, захваченные кэш-сервером, взяты с исходного сайта.

Политика планирования CDN

DNS-расписание

Расположение исходящего IP-адреса на основе локальной DNS запрашивающей стороны и планирования DNS оператора.

Проблемы с планированием DNS:

  • Время кэширования DNS не будет обновляться до истечения TTL, что вызовет большую задержку в автоматическом планировании, когда узел неисправен, что напрямую повлияет на бизнес-доступ в Интернете.
  • Большое количество локальных DNS не поддерживает протокол EDNS и не может получить реальный IP-адрес клиента.Большую часть времени CDN могут принимать решения только через локальный IP-адрес DNS, и часто происходит межрегиональное планирование.

Планирование HTTP DNS

Клиент запрашивает фиксированный DNS-адрес HTTP и получает результат разрешения в соответствии с ответом. Это может повысить точность синтаксического анализа (в отличие от планирования DNS, решения могут приниматься только через локальный IP-адрес DNS) и может избежать таких проблем, как перехват.

Конечно, у этого режима есть и некоторые проблемы, например, каждый раз, когда клиент загружает URL, может генерироваться HTTP DNS-запрос, что требует высокой производительности и доступа к сети.

302 Планирование

Планирование трафика в реальном времени на основе IP-адреса клиента и кластера планирования 302.

Давайте посмотрим на пример:

  1. После доступа к URL-ссылке запрос отправляется в кластер планирования в это время.Информация о клиенте, которую мы можем получить, — это выходной IP-адрес клиента (который в большинстве случаев одинаков).Следующим алгоритмом и планированием на основе DNS может быть то же самое, но основа суждения изменена с локального IP-адреса выхода DNS на IP-адрес выхода клиента.
  2. Браузер получает ответ 302, переходит по URL-адресу в Location и продолжает инициировать HTTP-запрос.Целевым IP-адресом этого запроса является пограничный узел CDN, и узел CDN ответит фактическим содержимым файла.

Преимущества расписания 302:

  • Планирование в реальном времени из-за отсутствия локального DNS-кэша подходит для обработки пиковых нагрузок CDN, что имеет большое значение для контроля затрат;
  • Высокая точность, прямое получение IP-адреса выхода клиента для планирования.

Недостатки расписания 302:

  • Он должен прыгать каждый раз, что не очень удобно для чувствительных к задержке сервисов. Обычно подходит только для больших файлов.

Планирование маршрутов AnyCast BGP

На основе политики маршрутизации BGP AnyCast предоставляется только несколько внешних IP-адресов, и политику маршрутизации можно быстро настроить.

В настоящее время AWS CloudFront и CloudFlare используют этот метод для планирования на уровне маршрутизации.

Этот метод может хорошо противостоять DDOS-атакам и снизить нагрузку на сеть.

Конечно, стоимость и дизайн решения этого метода сложнее, поэтому отечественные CDN по-прежнему используют метод UniCast.

некоторые концепции

Как работает CDN

локально кэшированные данные, черезkey-valueВ виде url и локального кеша сопоставляются, а структура хранения такая же, какMapаналогично, с использованиемhash+链表形式кеш.

image.png

Скорость попадания в CDN

Основной стандарт для измерения качества нашей службы CDN: когда ресурс, к которому обращается пользователь, оказывается в системе кэширования, он может быть возвращен пользователю напрямую, что указывает на попадание в CDN; если кэш CDN не достигает ресурс, он сработает回源действие.

CDN обратно к источнику

Запускается, когда локальный кеш CDN пропускает попадание回源动作,

  • 一级缓存доступ二级缓存Есть ли релевантные данные, если да, вернуться к кешу первого уровня.
  • 二级缓存Пропустите, инициируйте запрос на возврат вторичного кэша к источнику, запрашивая соответствующие данные исходного сайта. Получив результат, кэшируем его в локальном кеше, а данные возвращаем в кеш первого уровня.
  • 一级缓存Получите данные, кэшируйте их локально и верните пользователю.

Данные о прогреве CDN

Упомянутые выше режимы доступа основаны наPull模式, пользователь сам решает, какая часть горячих данных будет храниться в кэше CDN;预热прибыть边缘节点(L1), чтобы избежать посещения большим количеством пользователей после открытия большой акции, что может вызвать чрезмерное давление на исходный сайт. В это времяPush模式.

Краткое описание характеристик CDN

1,资源访问加速: Ускорение локального кэша повышает скорость доступа к корпоративным сайтам (особенно сайтам с большим количеством картинок и статических страниц) и значительно повышает стабильность сайтов с указанными выше свойствами.

2,消除运营商间网络互联的瓶颈问题: служба зеркалирования устраняет влияние узких мест соединения между различными операторами, реализует ускорение сети между операторами и гарантирует, что пользователи в разных сетях могут получить хорошее качество доступа.

3.远程加速: Пользователь удаленного доступа автоматически выбирает Cache-сервер в соответствии с технологией балансировки нагрузки DNS, выбирает самый быстрый Cache-сервер и ускоряет скорость удаленного доступа.

4.带宽优化: автоматически генерировать удаленное зеркало (зеркало) кэш-сервера сервера, считывать данные с кэш-сервера при доступе удаленных пользователей, уменьшать пропускную способность удаленного доступа, совместно использовать сетевой трафик и снижать нагрузку на веб-сервер исходного сайта.

5.集群抗攻击: Широко распределенные узлы CDN и интеллектуальный механизм резервирования между узлами могут эффективно предотвращать взлом и снижать влияние различных D.D.o.S-атак на веб-сайт, обеспечивая при этом более высокое качество обслуживания.

Обратите внимание, не потеряйтесь

Ладно, это все, что касается этой статьи. Каждую неделю я буду обновлять несколько высококачественных интервью с крупными фабриками и статьи, связанные с общими технологическими стеками. Спасибо за возможность видеть это, если эта статья хорошо написана, пожалуйста, попросите три подряд! ! ! Спасибо за вашу поддержку и признание, увидимся в следующей статье!

я九灵, Детская обувь, которой нужно общаться, может обратить внимание на общественный номер:Java 补习课! Если в этом блоге есть какие-либо ошибки, пожалуйста, критикуйте и советуйте, это очень ценится!