Как кэшировать DNS в Go?

Middle
131 просмотров
AFK Offer AI

Стандартный net.Resolver не кэширует — каждый Dial делает DNS-запрос. Можно использовать библиотеки типа dnscache, которые оборачивают Resolver и хранят результаты в памяти с TTL. Подключаешь через кастомный Dialer в http.Transport. Важно уважать TTL записей и периодически обновлять кэш в фоне. В продакшне это реально ускоряет первый запрос к внешним сервисам на 5-50 мс.

Следующий вопрос

Что такое test flag?