intermediate
DNS resolution
Объясняйте recursive resolution, authoritative records, TTLs, caching, CNAME chains, propagation expectations и DNS failure symptoms.
DNS сопоставляет имена хостов с записями (A, AAAA, CNAME, MX, TXT, SRV). Разрешение рекурсивно: от клиента через резолверы к authoritative nameservers. TTL задаёт срок кэша; низкий TTL ускоряет распространение, но увеличивает нагрузку на lookup и разброс latency.
App → stub resolver ОС → recursive resolver → root → TLD → authoritative NS → ответ
Node-сервисы резолвят DNS при каждом новом соединении, если не кэшировать на уровне agent (`lookup`, кастомные agents, service mesh). Цепочки CNAME добавляют round trips. NXDOMAIN и SERVFAIL выглядят как ошибки приложения.
На интервью: «в браузере работает, в Node нет» — DNS или TLS trust; компромиссы TTL при миграциях; negative caching и устаревшие записи.
Типовые ошибки: захардкоженные IP; игнор AAAA при тестах только A; мгновенное глобальное распространение после смены записи.
Компромисс: свежесть кэша против стоимости lookup и безопасности миграции.
Чеклист:
- Проследите шаги recursive resolution.
- Объясните TTL, CNAME, authoritative vs recursive.
- Симптомы DNS-сбоев в логах Node.
- Планируйте cutover с понижением TTL заранее.