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 заранее.