Администрирование Pangolin Pooler
Текущая версия компонента Pangolin Pooler 1.5.7, основан на PgBouncer версии 1.24.0.
Компонент Pangolin Pooler – это менеджер пулов соединений Pangolin DBMS.
Предназначение компонента — минимизировать издержки, связанные с установлением новых подключений к Pangolin DBMS. Pangolin Pooler позволяет уменьшить накладные расходы на базу данных в случае, когда огромное количество физических соединений ведет к падению производительности СУБД Pangolin.
Любое клиентское приложение может подключиться к Pangolin Pooler, как если бы это был непосредственно сервер DBMS, и пулер создаст подключение к реальному серверу, либо задействует одно из ранее установленных подключений.
Компонент Pangolin Pooler – это доработанная версия утилиты PgBouncer. Подробнее о PgBouncer в документации утилиты.
Чтобы не нарушать семантику транзакций при использовании пула соединений, Pangolin Pooler поддерживает несколько видов пулов (параметр pool_mode) при ротации соединений:
- Пул сеансов. Метод используется по умолчанию. Когда клиент подключается, ему назначается подключение к серверу на все время, пока клиент остается подключенным. Когда клиент отключается, подключение к серверу возвращается в пул.
- Пул транзакций. Подключение к серверу назначается клиенту только на время транзакции. Когда пулер замечает, что транзакция завершена, это подключение возвращается в пул.
- Пул операторов. Подключение к серверу будет возвращаться в пул сразу после завершения каждого запроса. Транзакции с несколькими операторами в этом режиме запрещаются, так как они могут прерваться.
Компонент используется как в решении standalone, так и в кластерной конфигурации (cluster).
Содержание
- Установка
- Настройка
- Управление
- Сценарии использования
- Логирование
- Рекомендации по настройке и использованию
- Сквозная аутентификация
- Поддержка подготовленных запросов
- Поддержка топологии N-ЦОД
Доработки
К ключевым доработкам утилиты PgBouncer в рамках создания компонента Pangolin Pooler относятся:
-
(4.4.0): добавление режима сквозной аутентификации пользователей, который дополнительно осуществляет поддержку аутентификации пользователей методом LDAP и аудирование действий пользователя в лог компонента Pangolin Pooler;
- расширение существующих команд PgBouncer, предоставляемых ядром компонента Pangolin Pooler: SHOW SERVERS, SHOW POOLS, SHOW LISTS.
-
(5.1.0): поддержка подготовленных запросов для транзакционного режима кластера высокой доступности Pangolin;
-
(5.3.0): поддержка использования сертификатов PKCS#12 и управление сертификатами через 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, которая сбрасывает в исходное состояние сквозную аутентификацию пользователей.