Сети и протоколы
CDN и edge: собери и настрой слой edge-доставки
Читать про cache key и stampede — не то же самое, что реально поднять hit rate с 40% до 95%. Поставь CDN перед сайтом со смешанным контентом, выправь cache key и TTL, собери одну страницу на edge и докажи каждый шаг измерениями.
Преврати ментальную модель юнита в рабочий слой edge-доставки: маршрутизируй на ближний edge, строй корректные cache key, защищай origin через shield и stale-while-revalidate, собирай страницу из фрагментов с разными TTL и проверяй hit rate и латентность числами до/после.
Поставь CDN перед небольшим сайтом со смешанным контентом (статичные ассеты + кешируемая HTML-страница + персональный фрагмент), настрой cache key и TTL, чтобы поднять cache hit rate выше 90% для кешируемого контента, собери одну страницу на edge и докажи выигрыш измеренными числами до/после.
- Таблица до/после: cache hit rate по каждому классу контента, p95 латентность edge из двух регионов и частота запросов к origin под одинаковой нагрузкой — измеренные, не оценочные.
- Персональный эндпоинт никогда не отдаёт ответ одного пользователя другому (проверено двумя разными сессиями на одном URL), а кешируемые ответы несут минимальный корректный Vary.
- Под нагрузочным тестом истечение популярного URL порождает один запрос к origin (shield плюс SWR работают), а пользователи продолжают получать ответы менее 50 мс на протяжении истечения.
- Собранная страница ассемблируется на edge минимум из двух фрагментов с разными TTL, а purge по деплою чистит все edge за ~5 секунд без межрегионального устаревшего расхождения.
- Добавь одностраничный on-call runbook: дашборды hit rate и p99 по регионам, алерт на кардинальность Vary, чеклист purge по деплою и дерево триажа от «hit rate упал» до корня.
- Обеспечь защиту origin: требуй mTLS (или аутентифицированный заголовок) от CDN к origin и покажи, что прямые к origin запросы в обход CDN отклоняются.
- Добавь второй CDN и DNS-стиринг с TTL 30 с; покажи переключение трафика на здоровый CDN, когда помечаешь первый нездоровым, и подтверди, что purge и логика edge worker идентичны на обоих.
- Отправь ответ 103 Early Hints с edge с Link: preload для критичного CSS страницы и измерь изменение Largest Contentful Paint против baseline без hints.
Это цикл, который ты будешь гонять на каждом реальном слое edge-доставки: маршрутизируй на ближний edge, строй минимальный корректный cache key (проверь Vary, помечай cookie-эндпоинты private), задавай TTL по классам со stale-while-revalidate и stale-if-error, схлопывай стадо origin shield’ом, собирай страницы из фрагментов с разными TTL на edge и делай инвалидацию автоматической через cache-tag purge по деплою — проверяя hit rate и латентность числами до/после под одинаковой нагрузкой. Сделав это раз на небольшом сайте, ты доводишь production-версию до мышечной памяти.