Обработка банковских выписок и построение единого журнала операций#
Контекст#
В банках финансовые операции генерируются множеством разрозненных систем, каждая из которых работает на своей платформе, с разными форматами данных, частотой обновления и уровнем доступности, например:
Банкоматы — снятие наличных, баланс-запросы;
Интернет- и мобильный банкинг — переводы, оплаты, пополнения;
Платежные шлюзы — эквайринг, авторизации;
Процессинг — внутренние транзакции, списания;
Кассы и POS-терминалы — розничные операции.
Каждая система ведет собственный журнал, в разных форматах (XML, JSON, flat-file, EDIFACT), с разной семантикой полей и асинхронной синхронизацией.
Схема до внедрения Corax:
Проблема#
Банк не может получить единый, достоверный и актуальный журнал всех финансовых операций в реальном времени:
Нет единой картины клиента — операции распределены по системам.
Задержки в отчетности — данные поступают с задержкой (часы, сутки).
Отсутствует корреляции событий в реальном времени.
Высокая стоимость интеграции — каждая новая система требует сложной интеграции.
Трудоемкая операция аудита и соответствие регуляторными требованиями.
Решение#
Единый журнал операций на базе Corax — централизованный, нормализованный, отказоустойчивый и масштабируемый поток событий, объединяющий все банковские операции в единый лог транзакций.
Пример архитектура решения:
Apache Kafka — центральная шина событий, все операции в едином формате: timestamp, account_id, amount, type, channel, status.
Описание примера решения:
Системы-источники подключается как Производители (Producer). Каждая система публикует свои события в свой топик Kafka, в своем формате (например, JSON, Avro) с использованием Schema Registry для контроля изменений.
Нормализация и агрегация (Kafka Streams / ksqlDB) в режиме потоковой обработки:
Приведение всех событий к единому формату (Unified Transaction Model).
Обогащение: добавление
client_id,branch,geolocation.Фильтрация: исключение тестовых операций.
Агрегация: подсчет ежедневных лимитов.
Формирование единого журнала. Все нормализованные события пишутся в общий топик.
Потребителями (Consumer):
Система антифрауда — анализирует поведение в реальном времени.
Data Warehouse — для аналитики и отчетности.
Elasticsearch — для поиска по операциям и аудита.
Grafana / Kibana — дашборды и мониторинг.
Регуляторные отчеты — автоматизированная выгрузка.