Администрирование Pangolin Pooler#
Текущая версия компонента Pangolin Pooler 1.6.0, основан на PgBouncer версии 1.24.0.
Компонент Pangolin Pooler – это менеджер пулов соединений Pangolin DBMS.
Предназначение компонента — минимизировать издержки, связанные с установлением новых подключений к Pangolin DBMS. Pangolin Pooler позволяет уменьшить накладные расходы на базу данных в случае, когда огромное количество физических соединений ведет к падению производительности СУБД Pangolin.
Любое клиентское приложение может подключиться к Pangolin Pooler, как если бы это был непосредственно сервер DBMS, и Pooler создаст подключение к реальному серверу, либо задействует одно из ранее установленных подключений.
Компонент Pangolin Pooler – это доработанная версия утилиты PgBouncer. Подробнее о PgBouncer в документации утилиты.
Чтобы не нарушать семантику транзакций при использовании пула соединений, Pooler поддерживает несколько видов пулов (параметр pool_mode) при ротации соединений:
Пул сеансов. Метод используется по умолчанию. Когда клиент подключается, ему назначается подключение к серверу на все время, пока клиент остается подключенным. Когда клиент отключается, подключение к серверу возвращается в пул.
Пул транзакций. Подключение к серверу назначается клиенту только на время транзакции. Когда Pooler замечает, что транзакция завершена, это подключение возвращается в пул.
Пул операторов. Подключение к серверу будет возвращаться в пул сразу после завершения каждого запроса. Транзакции с несколькими операторами в этом режиме запрещаются, так как они могут прерваться.
Компонент используется как в решении standalone, так и в кластерной конфигурации (cluster).
Содержание#
Доработки#
К ключевым доработкам программы PgBouncer в рамках создания компонента Pangolin Pooler относятся:
(4.4.0): режим сквозной аутентификации пользователей, который дополнительно осуществляет поддержку аутентификации пользователей методом LDAP и аудирование действий пользователя в лог компонента Pangolin Pooler;
дополнительно расширение существующих команд, предоставляемых ядром компонента Pangolin Pooler, PgBouncer:
SHOW SERVERS,SHOW POOLS,SHOW LISTS.
(5.1.0): поддержка подготовленных запросов для транзакционного режима кластера высокой доступности Pangolin;
(5.3.0): поддержка использования сертификатов PKCS#12 и управление сертификатами для Pangolin с Secret Management System (SecMan);
(5.5.0): поддержка топологии «N-ЦОД» в Pangolin Pooler;
(6.2.0): реализация вывода команды
SHOW POOLSв лог Pangolin Pooler;(6.3.0): создание конфигурационного параметра
ssl_legacy_providerдля активации устаревших алгоритмов (OpenSSL 1.+);(6.4.0): создание команды
RESET_AUTH, которая сбрасывает в исходное состояние сквозную аутентификацию пользователей.