IT

Cloudflare сократила задержку DNS и сниziła потребление памяти на 85%

Инженеры Cloudflare оптимизировали пайплайн обработки DNS, снизив пиковое потребление памяти на 85% и вдвое сократив время прохождения изменений.

·2 мин. чтения
Cloudflare сократила задержку DNS и сниziła потребление памяти на 85%

Компания Cloudflare объявила о масштабных изменениях в своей системе обработки DNS, которая в настоящее время обрабатывает около 700 изменений записей в секунду, почти втрое больше, чем в 2022 году. Самой большой проблемой стал не рост числа событий, а то, как нагрузка увеличивалась вместе с размером зон, некоторые из которых уже содержат более 20 миллионов записей. Для решения этой проблемы инженеры внедрили целевое планирование сборки и новый шедулер.

  • Трафик зоны DNS теперь обрабатывается через целевой планировщик, который выбирает минимально необходимый объем работы для безопасного обновления.
  • Пиковое потребление памяти серверами было снижено на 85% благодаря отказу от полного пересчета огромных зон при незначительных изменениях.
  • Время от изменения DNS-записи до ее распространения в глобальной сети Quicksilver сократилось ровно в два раза.
  • Крупнейшие зоны с десятками миллионов записей больше не вызывают сбоев из-за нехватки оперативной памяти при пересчете.

Эволюция архитектуры Zone Builder Ранее оригинальный Zone Builder обладал простым свойством: ему не нужно было знать точную причину изменения зоны, так как он всегда перестраивал желаемое состояние на основе текущей базы данных. Для небольших зон это обходилось дешево, однако по мере роста до десятков миллионов записей полные сборки начали потреблять колоссальные объемы памяти, переставая помещаться в оперативную память вообще. Добавление настроек зон, таких как Universal SSL или параметров CAA-записей, еще сильнее усложнило задачу. Полная сборка задействовала чтение, кодирование и сравнение каждой отдельной записи. Инженерам пришлось решить сложнейшую задачу: научить систему определять, какие именно настройки затронуты, и безопасно сопоставлять их с общими метаданными.

Новая логика планирования и типы сборок Разработанный целевой планировщик анализирует события и разделяет работу на несколько типов в зависимости от характера изменений. Если раньше любое обновление настроек приводило к полной пересборке зоны, то теперь система может обновлять только конкретные ресурсы, метаданные или корневые элементы (apex). Правило безопасности осталось неизменным: каждый ключ, записанный целевой сборкой, должен быть байт-в-байт идентичен результату полной сборки. В случае неопределенности, отсутствия деталей или изменения неизвестного характера система автоматически возвращается к полной сборке, предотвращая появление некорректных данных на периферии.

Значение для бизнеса и инфраструктуры Для крупных корпоративных клиентов и сайтов с миллионами записей эти изменения означают беспрецедентную стабильность глобальной сети Cloudflare. Устранение узких мест привело к тому, что изменения доменов распространяются мгновенно, а инфраструктура компании получила огромный запас прочности для масштабирования в будущем, ожидая появления зон сотен миллионов записей.

Источник: Hacker News: Front Page

Похожие статьи