Control Plane: обзор
StableЧто такое Control Plane, какое место он занимает в цепочке SPG99 и почему именно он теперь координирует и lifecycle, и writer autoscaler.
Обновлено: 21 марта 2026 г.
Control Plane — это центральный управляющий сервис SPG99. Через него Console и внешние интеграции создают аккаунты, выпускают API‑ключи, создают tenants и базы, получают креды подключения, следят за состоянием ресурсов и инициируют удаление.
Если объяснять просто, Control Plane — это “мозг” платформы:
- он знает, какие аккаунты, tenants и базы существуют;
- хранит их текущее состояние;
- решает, когда нужно запустить writer;
- координирует Gateway, Provisioner, Pageserver и Safekeeper;
- возвращает данные для подключения;
- теперь ещё и управляет profile handoff нового autoscaler.
Где Control Plane находится в общей цепочке
Типовой путь выглядит так:
Пользователь / Console / API client
-> Control Plane
-> Gateway
-> Compute
-> Pageserver + Safekeeper
Практически это означает следующее:
- Пользователь создаёт tenant и базу в Console или через API.
- Control Plane создаёт записи в каталоге и готовит storage‑сущности.
- Новая база создаётся без постоянно работающего writer.
- При первом подключении клиент идёт в Gateway.
- Gateway запрашивает у Control Plane lease и, если база ещё спит, инициирует её запуск.
- Control Plane через Provisioner поднимает writer.
- Compute получает soft bootstrap‑параметры, выходит в
ready, и Gateway маршрутизирует подключение в уже запущенный backend. - После простоя Control Plane может автоматически остановить writer.
Новая роль Control Plane: autoscaler
Теперь Control Plane координирует ещё и безопасную смену writer‑профиля:
- принимает решение о handoff;
- создаёт candidate generation;
- включает freeze для новых checkout'ов;
- ждёт drain;
- переключает каталог на новый writer;
- завершает transition в
COOLDOWNи затем вSTEADY.
Это делает profile autoscaler не “магией в pod’е”, а частью прозрачной управляемой модели платформы.
Что это даёт пользователю
Для пользователя Control Plane решает пять практических задач:
- Даёт доступ к платформе: аккаунты, API‑ключи, scope и права.
- Формирует логическую структуру: account -> tenant -> database.
- Возвращает данные для подключения:
pg_user,pg_password,dsn_template. - Управляет жизненным циклом базы: create, auto‑start, auto‑stop, delete.
- Управляет autoscaler‑состоянием:
current_profile,target_profile,scale_state, failure reason.
Важно понимать границы ответственности:
- Control Plane не исполняет SQL;
- Gateway принимает клиентские PostgreSQL‑подключения;
- Compute исполняет сами запросы;
- Pageserver и Safekeeper отвечают за durable storage.
