Post Thumbnail

PGKeeper - это сервис на Go, который команда Figma разработала для замены устаревшего пулера соединений PgBouncer.

Основные проблемы PgBouncer - однопоточная архитектура, ограничивающая масштабируемость, отсутствие приоритизации трафика и механизмов защиты от перегрузок (например, CoDel), а также высокие риски при массовом создании или закрытии соединений с PostgreSQL.

PGKeeper работает через gRPC, использует механизмы приоритетного допуска запросов и "честного распределения" ресурсов, управляет соединениями с помощью лимитов скорости и предотвращает их "пересоздание". А еще автоматически сбрасывает зависшие транзакции, обрабатывает отмены контекста и греет пул соединений.

Ребяа утверждают, что в 2025 году PGKeeper предотвратил более 20 инцидентов, обеспечив надёжность 99,99% для ключевых сценариев Figma

Ну и только посмотрите какие красивые картиночки

Похожее

Post Thumbnail

CPU нагрузка

В статье рассматриваются проблемы оптимизации кода на Go, который нагружает CPU...

Post Thumbnail

Async/Await

Статья про реализацию паттерна Async/Await в Go. Якобы, он упростит написание ко...

Post Thumbnail

Проще лучше

Автор рассказывает как он запилил крутую базу данных с лок-фри ринг-буфером, пин...