<- все кейсы
финтех / маркетплейс финансовых услуг

Онлайн-оформление вкладов для Sravni.market

стек
  • PHP Symfony
  • PostgreSQL
  • RabbitMQ
  • Redis
  • Kubernetes
роль

разработчик -> тимлид через месяц

[01]

Задача

Дать пользователю открыть банковский вклад прямо на маркетплейсе - без перехода на сайт банка.

  • Интеграции с несколькими банками на разных протоколах - REST и SOAP
  • Персональные и финансовые данные по требованиям ЦБ
  • Падение одного банковского API не должно ронять сервис
  • Сжатые сроки

[02]

Решение

Начали с модульного монолита: клиентская часть отдельно от шины обмена с банками.

  • У каждого банка свой адаптер в шине, в банк шина ходит напрямую - по REST или SOAP
  • Шифрование, аудит-логи, контроль доступа
  • Позже за пару недель распилили на два сервиса и API Gateway - границы были заложены с первого дня
HTTPSHTTPзаявкаданные клиентаSQLEXTsravni.ruбаза клиентовCACHERedisSVCклиентский сервисPHP / SymfonyMQRabbitMQвклады и кредитыCLIENTклиентweb / mobileSVCAPI GatewaySVCшина обменаадаптеры банковDBPostgreSQLданные для банковEXTбанк ARESTEXTбанк BSOAPEXTбанк NREST / SOAP
итоговая архитектура / жёлтым - путь заявки на вклад

[03]

Результаты

  • Запуск почти в срок
  • Сбой одного банка не влияет на остальные
  • Нагрузка на одну часть не задевает другую
Границы модулей, заложенные с первого дня, позволили распилить монолит на сервисы за пару недель.

похожая_задача

Интеграции с банками, требования ЦБ, сжатые сроки?

услуги: разработка на PHP / техлидство на аутсорс