How spg99 works: request flow
StableПоток запроса: от клиента через Gateway до CP, Provisioner, compute и S3.
Обновлено: 3 февраля 2026 г.
Что происходит при первом и последующих подключениях к БД spg99.
- Клиент идёт на единый Gateway по DSN. Gateway валидирует SNI и проверяет lease для БД/tenant.
- Если compute отсутствует или в STOPPED, Gateway просит Control Plane запустить его. CP вызывает Provisioner и ставит state=creating/starting.
- Provisioner поднимает ВМ, передаёт агенту register_token, адреса Safekeeper/Pageserver и timeline. Агент делает
helloв CP. - CP отдаёт bootstrap‑спеку, агент вытягивает TLS‑сертификат, стартует PostgreSQL и подключает его к WAL/ Pageserver. CP меняет state=ready.
- Gateway устанавливает соединение от клиента до PostgreSQL. Для клиента это стандартный PostgreSQL‑протокол по TLS.
- CP отслеживает активные подключения и last_used_at. При длительном idle отправляет stop_db → Provisioner гасит ВМ, state=stopped. При следующем подключении цикл повторяется.
Обработка отказов: при падении ВМ CP поднимает новую по тому же timeline. Клиенты продолжают использовать тот же DSN, Gateway разруливает смену compute.