Платежный шлюз для букмекерской компании
- PM
- Analytics
- UX/UI
- Backend
- Frontend
- QA
- DevOps
- SecOps
- Java
- Java EE
- Spring Boot
- Spring Data
- Hibernate
- Keycloak
- RabbitMQ
- Liquibase
- Postgresql
- Javascript
- React
- Redux Toolkit
- Kubernetes
- Postman
- Docker
- UML
- BPMN 2.0
- Camunda modeler
- Confluence
- Qase
- Swagger
У вас есть задача?
Давайте обсудим?
О клиенте
Крупнейшая букмекерская компания России и СНГ, осуществляющая прием ставок на спортивные и киберспортивные события через сайт, приложение или пункты приема ставок, сеть которых насчитывает более 100 клубов в Москве и 1000 отделений в 82 регионах России. Ежедневная активная аудитория составляет более 500 тысяч пользователей.
О проекте
Компания работает на беттинговом рынке с 1994 года. За последние 16 лет команда RedLab прошла вместе с лидером индустрии множество ключевых этапов его становления – от маленьких задач до международных масштабных проектов. Одна из важных вех развития компании заключалась в разработке кроссплатформенного решения, предназначенного для осуществления безопасных транзакций с помощью банковских карт и альтернативных платежных систем. Необходимость в проекте появилась ввиду возросшего объема транзакций и предстоящего спортивного события мирового масштаба.
Описание задачи
С целью подготовки платежной инфраструктуры к рекордным пиковым нагрузкам и расширения возможностей текущего платежного шлюза по юрисдикциям и потребительским предпочтениям нашей команде требовалось в десятки раз увеличить проходимость сервиса, интегрировать более 50 новых платежных решений и обеспечить работу сервиса на нескольких новых рынках. Также мы отвечали за разработку бэк-офиса с историей транзакций, настройками маршрутизации платежей, автоматической сверкой и антифрод-модулем.
Реализация
Ввиду масштабности проекта и множества разноплановых задач была сформирована проектная команда, включающая специалистов в области аналитики, backend, frontend, тестирования, devops, secops, UI/UX дизайна и проектного управления.
- Переписали архитектуру системы с монолита на микросервисы.
- При разработке микросервисной архитектуры руководствовались стандартом PCI DSS.
- Расширили ИТ-инфраструктуру и обеспечили дополнительные серверные мощности, что позволило нам масштабироваться горизонтально.
- Настроили мониторинг и провели оптимизацию «тяжелых» запросов — изучили профиль нагрузок, исследовали пользовательские пути и на основании полученной информации настроили кеширование, тем самым увеличили пропускную способность шлюза.
- Для повышения производительности и безопасности сервиса перешли с Java 8 на 11 версию.
- Заменили устаревший Jboss на Wildfly. Отказались от встроенного в Jboss брокера сообщений, в пользу RabbitMQ, что существенно повысило отказоустойчивость системы.
- Стандартизировали процесс подключения платежных систем для ускорения интеграции.
- Обобщили повторяемые признаки, вынесли общий код обработки в ядро системы.
- Внедрили автоматизированную систему сверок.
- Реализовали универсальный модуль отчетности для упрощения сверок и отображения данных по проведенным транзакциям.
- Снизили среднее время интеграции новой платежной системы в 4 раза, до пары недель.
- Адаптировали систему проведения платежей под требования, особенности регулятора и специфику различных юрисдикций.
При создании платежного шлюза наша команда столкнулась с некоторыми вызовами. О том, как мы их преодолели, читайте в статье.
Результат
Реализованный платежных шлюз успешно выдержал пиковые нагрузки в период чемпионата мира по футболу. Система стабильно работает при нагрузке 3000 платежных запросов в минуту без потери производительности. Портфель платежных систем увеличен с 6 до 57. Беттинговая компания смогла бесперебойно принимать платежи на новых рынках Греции, Кипра, Казахстана и Беларуси, соблюдая все требования местного законодательства.