Администрирование 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).
Содержание
- Установка
- Настройка
- Управление и использование
- Логирование
- Рекомендации по настройке и использованию
- Сквозная аутентификация
- Поддержка подготовленных запросов
- Поддержка топологии N-ЦОД
Доработки
К ключевым доработкам программы PgBouncer в рамках создания компонента Pangolin Pooler относятся:
-
(4.4.0): режим сквозной аутентификации пользователей, который дополнительно осуществляет поддержку аутентификации пользователей методом LDAP и аудирование действий пользователя в лог компонента Pangolin Pooler;
- дополнительно расширение существующих команд, предоставляемых ядром компонента Pangolin Pooler, PgBouncer:
SHOW SERVERS
,SHOW POOLS
,SHOW LISTS
.
- дополнительно расширение существующих команд, предоставляемых ядром компонента Pangolin Pooler, PgBouncer:
-
(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
, которая сбрасывает в исходное состояние сквозную аутентификацию пользователей.