Инструменты15 сентября 2026 г., 13:16 МСК🤖 Auto

Meta представила ZGateway: прокси-слой для ZippyDB, обрабатывающий 1 млрд операций/сек

Инженеры Meta внедрили ZGateway — безсостоятельный прокси-слой для ZippyDB, который снизил количество соединений на 97% и обрабатывает 40% трафика с оверхедом всего 6%.

Баннер новости 7528

Проблема масштабирования ZippyDB

До внедрения ZGateway клиенты ZippyDB подключались напрямую к каждому хосту базы данных. Один клиент мог устанавливать десятки тысяч TLS-соединений с сотнями тысяч хостов, что приводило к исчерпанию файловых дескрипторов и OOM-ошибкам. Инциденты с переподключением вызывали циклы перезагрузки всего флота. Поскольку клиентами владеют сотни команд, исправления на стороне клиента были неэффективны.

Решение: ZGateway как единая точка входа

ZGateway — это безсостоятельный прокси-слой, работающий на базе толстого C++ клиента ZippyDB. Он принимает запросы от клиентов, завершает TLS, применяет контроль доступа, кэширует данные и батчингует запросы перед отправкой на реплики. Прокси развернут в региональных зонах через ServiceRouter и обрабатывает более 1 миллиарда операций в секунду.

Математика масштабирования: от линейного роста к константе

Внедрение прокси изменило архитектуру соединений. Вместо линейного роста числа соединений с количеством клиентов, ZGateway ограничивает fan-in количеством регионов и плотностью шардов. При тестовых параметрах (500 000 хостов БД, 30 000 прокси, 1 000 000 клиентов) количество постоянных соединений сократилось в 19 раз, а нагрузка на отдельный хост упала на 97-98%.

Метрика До ZGateway (Прямой доступ) После ZGateway (Прокси)
Обработка операций Зависит от клиента > 1 млрд ops/sec
Доля трафика 100% (прямое) ~40% (прогноз 60%)
Вычислительный оверхед 0% ~6% (средний случай)
Снижение соединений Линейный рост Сокращение в 19 раз
Нагрузка на хост Высокая (десятки тысяч коннектов) Снижение на 97-98%

Ключевые возможности: DLS и кэширование

В ZGateway внедрена система Discriminant Load Shedding (DLS). При перегрузке (CPU >90%) система изолирует «шумных» клиентов, отбрасывая только их запросы. В тесте с 1350 тенантами только 6 нарушителей подверглись шейдингу, а 99.9% остальных запросов выполнились успешно при goodput 97-98%. Также реализовано read-through кэширование с гарантией свежести данных через CDC-события.

Почему это важно

Хотя ZGateway не будет опубликован как открытый продукт, он демонстрирует передовой паттерн управления трафиком в распределенных системах. Идея выноса клиентской логики (батчинг, кэширование, транзакции) в управляемый прокси-слой позволяет изолировать проблемы масштабирования от тысяч независимых сервисов, обеспечивая стабильность при экстремальных нагрузках.

Источник: MarkTechPost ↗