
Написали пулер для PostgreSQL и выкатили в опенсорс
Разработали альтернативу существующим решениям, потому что среди них не нашлось пулера, способного работать с нашей нагрузкой. Наш инструмент простой и надёжный, как PgBouncer, и при этом производительный, как Odyssey.
Мы назвали его PgDoorman и сделали доступным для всех инженеров: https://ozon.tech/pg_doorman
Наш пулер адаптивно управляет очередью входящих соединений, чтобы предотвратить перезагрузки. Он ограничивает общее число подключений к базе для всех пользовательских пулов. Когда лимит достигнут, координатор освобождает простаивающее соединение и использует его для ожидающего подключения клиента.
PgDoorman поддерживает все популярные драйверы и умеет повторно использовать состояние подготовленных запросов, в том числе в сценариях, где драйвер отправляет запросы без имени. Это позволяет сокращать повторную работу PostgreSQL по подготовке и планированию выполнения запросов.
На проде мы используем PgDoorman с приложениями на Go, .NET, Python и Node.js. И вам рекомендуем.