Обработка банковских выписок и построение единого журнала операций#

Контекст#

В банках финансовые операции генерируются множеством разрозненных систем, каждая из которых работает на своей платформе, с разными форматами данных, частотой обновления и уровнем доступности, например:

  • Банкоматы — снятие наличных, баланс-запросы;

  • Интернет- и мобильный банкинг — переводы, оплаты, пополнения;

  • Платежные шлюзы — эквайринг, авторизации;

  • Процессинг — внутренние транзакции, списания;

  • Кассы и POS-терминалы — розничные операции.

Каждая система ведет собственный журнал, в разных форматах (XML, JSON, flat-file, EDIFACT), с разной семантикой полей и асинхронной синхронизацией.

Схема до внедрения Corax:

Проблема#

Банк не может получить единый, достоверный и актуальный журнал всех финансовых операций в реальном времени:

  • Нет единой картины клиента — операции распределены по системам.

  • Задержки в отчетности — данные поступают с задержкой (часы, сутки).

  • Отсутствует корреляции событий в реальном времени.

  • Высокая стоимость интеграции — каждая новая система требует сложной интеграции.

  • Трудоемкая операция аудита и соответствие регуляторными требованиями.

Решение#

Единый журнал операций на базе Corax — централизованный, нормализованный, отказоустойчивый и масштабируемый поток событий, объединяющий все банковские операции в единый лог транзакций.

Пример архитектура решения:

Apache Kafka — центральная шина событий, все операции в едином формате: timestamp, account_id, amount, type, channel, status.

Описание примера решения:

  1. Системы-источники подключается как Производители (Producer). Каждая система публикует свои события в свой топик Kafka, в своем формате (например, JSON, Avro) с использованием Schema Registry для контроля изменений.

  2. Нормализация и агрегация (Kafka Streams / ksqlDB) в режиме потоковой обработки:

    • Приведение всех событий к единому формату (Unified Transaction Model).

    • Обогащение: добавление client_id, branch, geolocation.

    • Фильтрация: исключение тестовых операций.

    • Агрегация: подсчет ежедневных лимитов.

  3. Формирование единого журнала. Все нормализованные события пишутся в общий топик.

  4. Потребителями (Consumer):

    • Система антифрауда — анализирует поведение в реальном времени.

    • Data Warehouse — для аналитики и отчетности.

    • Elasticsearch — для поиска по операциям и аудита.

    • Grafana / Kibana — дашборды и мониторинг.

    • Регуляторные отчеты — автоматизированная выгрузка.