TGViewer
Библиотека Java разработчика Библиотека Java разработчика @bookjava · 10.1K subscribers
Post #4192 1.36K
🌍 CDN: Как обмануть скорость света и расстояния

CDN (Content Delivery Network / Сеть доставки контента) - это географически распределенная сеть серверов, задача которых - отдавать контент пользователю из максимально близкой к нему точки.

🏢 1. Origin и Edge: Разделение ролей

В архитектуре с CDN появляются два новых понятия:

• Origin Server (Главный сервер): Это ваш настоящий сервер, где крутится Spring Boot, лежит база данных и хранятся оригиналы всех файлов (например, в Amazon S3).
• Edge Servers (Граничные серверы / Точки присутствия - PoP): Это тысячи серверов CDN-провайдера (например, Cloudflare или Akamai), раскиданные по всему земному шару: в Сиднее, Токио, Нью-Йорке, Лондоне, Москве.

⚙️ 2. Как это работает (Cache Hit & Miss)

Представьте, что австралийский пользователь впервые запрашивает логотип вашего сайта logo.png.

1. Cache Miss (Промах кэша): Запрос летит на ближайший к нему Edge-сервер в Сиднее. Сервер проверяет свою память и видит: "У меня нет этого файла".

2. Поход на Origin: Edge-сервер сам идет на ваш главный сервер в Германию, скачивает logo.png, сохраняет копию у себя на диске (кэширует) и отдает пользователю. Это было долго (те самые 300 мс).

3. Cache Hit (Попадание в кэш): Через секунду заходит второй пользователь из Сиднея и просит тот же logo.png. Edge-сервер моментально отдает ему файл из своей памяти за 5 миллисекунд. Запрос до Германии даже не доходит!

📦 3. Что кладем в CDN, а что нет?

CDN идеально подходит для Статического контента:

• Картинки, видео, аудио.
• Скомпилированные файлы JavaScript и CSS.
• Шрифты.

CDN категорически НЕ подходит для Динамического контента:

• Баланс банковского счета.
• Корзина товаров.
• Приватные данные пользователя.
• (Запросы к API /api/v1/users/me должны идти напрямую на ваш сервер, минуя кэш CDN).

🛡️ 4. Защита от DDoS

Современные CDN (тот же Cloudflare) - это не просто кэш. Это гигантский щит.
Если хакеры решат "положить" ваш сайт и отправят миллион запросов в секунду, этот удар примут на себя серверы CDN. Их пропускная способность измеряется терабитами. Они отфильтруют "мусорный" трафик, и ваш маленький Origin-сервер в Германии даже не заметит атаки.

🔥 Итог

• Ускорение: Пользователи получают тяжелый контент мгновенно, потому что скачивают его из своего же города.

• Экономия: Ваш главный сервер больше не тратит процессорное время и трафик на отдачу терабайтов картинок. Вы платите за сервера меньше.

• Безопасность: CDN скрывает реальный IP-адрес вашего сервера и защищает от DDoS-атак.

#SystemDesign #CDN #Cloudflare #Architecture #HighLoad

📲 Мы в MAX

👉@BookJava
  • 👍 6
More from @bookjava
  1. Sep 27, 2026🧠 Ленивая инициализация через Supplier — элегантная альтернатива double-checked locking К…
  2. Sep 23, 2026Что такое механизм try-with-resources? Механизм try-with-resources в Java — это конструкци…
  3. Sep 21, 2026📌 picocli — это современная библиотека для создания CLI-приложений на Java. Она упрощает…
  4. Sep 18, 2026Double-brace инициализация в Java — это идиома, которая используется для инициализации кол…
  5. Sep 16, 2026🧠@Value vs @ConfigurationProperties — не выбирай наобум Оба способа хороши для конфигурац…
  6. Sep 14, 2026🧠 Трюк с @EventListener в Spring — убираем лишний @TransactionalEventListener Когда тебе…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →