← Back to notes

CDN и Anycast: как
edge-сеть снижает latency


Теория

CDN

CDN (Content Delivery Network) — распределённый edge-слой PoP'ов с кэшем и compute близко к пользователю. Цели:

  • снизить RTT и TTFB;
  • разгрузить origin от повторяющихся чтений;
  • абсорбировать локальные сбои и DDoS.

Путь запроса: клиент → DNS/Anycast → edge PoP → (cache hit → ответ) или (cache miss → upper cache tier → origin).


Anycast (RFC 4786)

Anycast — один IP-префикс анонсируется из нескольких локаций; трафик попадает в топологически ближайший узел по BGP best-path. Замечания:

  • "ближайший" — по AS_PATH/IGP, не по geo;
  • путь определяется BGP-политиками транзитов, а не централизованным алгоритмом;
  • асимметрия маршрутов возможна (входящий и исходящий идут разными путями).

Anycast лучше подходит к stateless-сервисам (DNS, HTTP-edge с кешем). Для long-lived stateful-сессий смена маршрута может привести поток в другой PoP — нужны session affinity, replication/draining состояния или дизайн без жёсткой привязки к одному PoP.


Эксплуатационные ограничения

  • нет гарантии равномерного load-balancing между PoP — распределение зависит от eyeball-провайдеров;
  • инциденты нужно разбирать по AS/региону, не только глобально;
  • происходят BGP-induced flaps при route change у транзитов.

Практика

1. Проверьте DNS-поведение и TTL

dig +nocmd example.com A +noall +answer
dig +nocmd example.com AAAA +noall +answer

Смотрите:

  • TTL;
  • используемые edge IP;
  • согласованность ответов между резолверами.

2. Проверьте путь до anycast IP из разных точек

mtr -rwzbc 50 <edge-ip>
traceroute <edge-ip>

Сравнивайте:

  • задержку;
  • AS-path/узлы;
  • стабильность маршрута по регионам.

3. Проверьте cache hit/miss на edge

curl -I https://example.com/static/app.js
curl -I https://example.com/static/app.js

Проверьте заголовки CDN-платформы (cache-status/age и эквиваленты), чтобы убедиться, что объект реально кэшируется.


4. Протестируйте деградационный сценарий origin

Минимальный сценарий:

  • ограничить доступность части origin-инстансов в test/stage;
  • проверить, что edge продолжает обслуживать горячий контент из кэша;
  • зафиксировать поведение latency/error-rate по регионам.

Вывод

CDN + Anycast дают выигрыш по latency и resiliency, но это не "самонастраивающаяся магия".
Нужны:

  • корректная cache-стратегия,
  • явная защита origin,
  • региональная сетево-прикладная observability,
  • регулярная проверка деградационных сценариев.

Ссылки


Проверка источников

CDN и Anycast: как edge-сеть снижает latency | Aleksandr Suprun