Перейти к содержимому
FinTech·4 месяца·📅 2024

API-платформа для агрегатора банковских продуктов

Разработали универсальную API-платформу для подключения 35 банков и МФО через единый интерфейс. Время на подключение нового партнёра — 3 дня вместо 3 недель.

🔗
35
Партнёров подключено
10к RPM
Пиковая нагрузка
🎯
<500 мс
P99 время ответа
⏱️
3 дня
Подключение нового партнёра

🎯 Задача

Финтех-стартап строил агрегатор: пользователь вводит параметры (сумма, срок, цель), платформа запрашивает предложения у 30+ банков и МФО и показывает лучшие варианты.

Главная техническая проблема: у каждого партнёра свой API — разные форматы, разная авторизация, разные таймауты. Один банк отвечает за 50 мс, другой — за 8 секунд. Один падает на час раз в неделю.

Первоначальная архитектура на синхронном REST рухнула при 500 RPM: медленные банки блокировали потоки, и система переставала отвечать. При этом инвесторы требовали масштаб на 10 000 RPM к концу года.

💡 Решение

Перепроектировали систему на реактивном стеке: Spring WebFlux + Project Reactor. Вместо «ждём всех партнёров» — отправляем запросы параллельно и показываем результат по мере поступления ответов (streaming).

Для каждого партнёра — отдельный адаптер с circuit breaker (Resilience4j): если партнёр начинает тормозить или падать, система перестаёт его опрашивать и переключается в fallback-режим. Пользователь видит доступные предложения без ожидания ненадёжных источников.

Написали SDK для партнёров с документацией и sandbox — время на подключение нового банка сократилось с 3 недель до 3 дней.

⚙️ Реализация

1

API Gateway и роутинг

Spring Cloud Gateway с кастомными фильтрами: rate limiting, аутентификация (OAuth 2.0 / API Key), трансформация запросов, circuit breaker.

2

Адаптерный слой

Каждый партнёр — отдельный адаптер, реализующий единый интерфейс. Нормализация форматов, маппинг полей, обработка специфичных ошибок.

3

Реактивная оркестрация

Параллельный запрос всех партнёров через Flux. Streaming-ответ клиенту по мере поступления данных. Таймауты на уровне каждого адаптера.

4

Наблюдаемость

Distributed tracing (Zipkin), метрики доступности и SLA каждого партнёра в Grafana, алерты при деградации. Партнёры получают отчёты о доступности своих API.

📊 Результаты

Через 4 месяца после запуска платформа обслуживает 10 000 RPM без деградации. 99-й перцентиль времени ответа — 480 мс даже при одновременной деградации 3 партнёров.

Подключение нового партнёра теперь занимает 3 рабочих дня: половину занимает юридическое оформление, техническая часть — меньше дня.

Стартап привлёк раунд A, ссылаясь на техническую надёжность платформы как конкурентное преимущество.

Похожие проекты