8 / 15
Почему serverless плохо дружит с обычными базами данных и как это решать?
Классическая база (PostgreSQL, MySQL) держит на каждое соединение отдельный процесс или поток и рассчитана на небольшое число долгоживущих подключений из пула. Serverless устроен наоборот: сотни независимых экземпляров, каждый со своим соединением, время жизни которых непредсказуемо. Итог — исчерпание лимита соединений, шквал подключений при всплеске и постоянные переустановки TLS-сессий. Решения: внешний пул соединений (RDS Proxy, PgBouncer, Cloud SQL Auth Proxy), базы с HTTP-интерфейсом (Data API, Neon/PlanetScale serverless-драйверы), ограничение параллельности функций, переиспользование соединения между вызовами и перенос HTTP-нагрузки в контейнеры с внутренним параллелизмом.