Как сменить DNS-запись (например, переехать на новый сервер) без простоя?
- Зачем заранее уменьшать TTL?
- Что такое dns-prefetch и preconnect?
Резолверы держат запись до истечения TTL, поэтому переключение не мгновенное. План: заранее (за время не меньше текущего TTL) понизить TTL до минут → поднять новый сервер и проверить его напрямую → сменить запись → держать старый сервер работающим, пока не истечёт старый TTL и трафик не уйдёт (смотреть логи) → вернуть TTL обратно. На фронтенде dns-prefetch и preconnect заранее разрешают имена и открывают соединения со сторонними доменами — экономят десятки миллисекунд.
- Старый и новый серверы должны работать с одними данными или синхронизироваться
- Некоторые резолверы игнорируют TTL — держите старый сервер с запасом
- Для сертификата нового сервера домен должен уже указывать на него (или проверка через DNS-запись)
А ещё preconnect — только для нескольких ключевых доменов: лишние соединения тоже стоят ресурсов
Подробно
Пример плана:
- За сутки: TTL 86400 → 300.
- Новый сервер готов, проверен через hosts-файл или curl --resolve.
- Смена A-записи.
- Через 1–2 часа: в логах старого сервера трафик почти нулевой.
- Выключение старого, TTL обратно 3600+.
На странице:
<link rel="preconnect" href="https://api.example.ru">
<link rel="dns-prefetch" href="https://cdn.example.ru">Что хотят услышать
- Понижение TTL заранее.
- Параллельная работа старого и нового.
- Проверка нового до переключения.
- dns-prefetch и preconnect.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Сменить запись и сразу выключить старый сервер — DNS обновится мгновенно
- ✓Заранее понизить TTL, проверить новый сервер, сменить запись и держать старый, пока не истечёт старый TTL
- ✗Повысить TTL перед переездом, чтобы резолверы чаще спрашивали новый адрес, сменить запись и сразу выключить старый сервер
- ✗TTL влияет только на почтовые записи
Разбор темы
- Как работает интернет — от адреса в браузере до ответа
Что происходит после нажатия Enter, слои сети и стек TCP/IP, TCP и UDP, как работает DNS и как проверять записи.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.