Альфа-Банк построил инфраструктуру для бизнес-критичной платежной системы СБП, включающей оплату по QR-коду. Система построена на базе российской СУБД Postgres Pro Enterprise с использованием встроенного отказоустойчивого кластера BiHA. Архитектура создана с нуля на отечественном ПО без внешних компонентов кластеризации. Такой подход соответствует стратегии импортозамещения и снижает эксплуатационные риски.
В основе проекта лежало несколько ключевых требований. Принципиальным из них было создание системы сразу на российском стеке без использования зарубежного ПО. Также перед командой стояла задача обеспечить отказоустойчивость уровня Business Critical, гарантию сохранности каждой транзакции при сбое и избежать добавления лишних компонентов.
Ранее в системах с менее строгими требованиями к доступности банк использовал внешнее ПО для управления кластером, которое требовало отдельной поддержки и настройки. Для платежной инфраструктуры Альфа-Банк отказался от внешнего ПО в пользу встроенного решения — Postgres Pro Enterprise с механизмом высокой доступности BiHA. Отказ от внешних инструментов кластеризации продиктован стремлением сократить число потенциальных точек отказа и упростить сопровождение. Единая поддержка СУБД и механизма высокой доступности от одного вендора дополнительно снимает вопросы о зоне ответственности при инцидентах.
Банк развернул кластер по схеме 2 + 1. Основной узел обрабатывает все операции записи, синхронная реплика обеспечивает дублирование данных в реальном времени, что гарантирует их сохранность при выходе основного узла из строя. Третий узел выполняет функцию арбитра, исключая возможность возникновения конфликтной ситуации с двумя активными лидерами. Балансировка нагрузки осуществляется через JDBC-драйвер без использования внешнего балансировщика.
Для оптимизации производительности запросов используется модуль pgpro_pwr, который помогает выявлять наиболее ресурсоемкие операции. Для управления кластером банк тестирует Postgres Pro Enterprise Manager — инструмент с графическим интерфейсом для переключения BiHA-кластера, призванный упростить работу круглосуточной дежурной смены.
Тестирование СУБД заняло около месяца. Особое внимание уделили сценариям аварийного переключения: под нагрузкой отключались узлы, проверялась корректность обработки всех транзакций. Все failover-тесты пройдены успешно.
По итогам нагрузочного тестирования кластер показал производительность 25 тыс. TPS при объеме базы около 1 Тбайт. Ожидаемая промышленная нагрузка примерно в два раза ниже достигнутого максимума, что обеспечивает запас прочности.
В результате Альфа-Банк получил не только отказоустойчивую СУБД на российском промышленном стеке, но и управляемую архитектуру. Отказоустойчивый кластер BiHA объединил промышленную СУБД, механизм высокой доступности и поддержку вендора в одном решении, что для систем подобного класса снижает эксплуатационные риски и делает поведение кластера более предсказуемым.