Обзор клиента
Наш клиент — один из ведущих европейских банков, внедряющий SEPA-платежи и ежедневно обрабатывающий огромные объемы транзакций. Банк работал в условиях строгого регулирования и нуждался в проверке соответствия в реальном времени, чтобы каждая операция соответствовала стандартам ЕС.
В связи с этим банку требовалось высокопроизводительное решение, способное интегрироваться в основные платежные процессы, обеспечивать полную аудируемость, бесперебойную работу без простоев и возможность горизонтального масштабирования в периоды пиковых нагрузок.
Задача
Европейские банки обычно сталкиваются с уникальным сочетанием строгих регуляторных требований и высокой нагрузки на инфраструктуру, особенно при обработке пакетных SEPA-платежей. В рамках проекта ключевые вызовы включали:
- Строгие и постоянно меняющиеся требования ЕС, требующие проверки соответствия для каждой отдельной транзакции
- Экстремально высокие требования к пропускной способности — десятки тысяч SEPA-запросов в секунду (серьезная нагрузка даже для крупнейших банков ЕС)
- Необходимость обеспечения непрерывной работы без простоев, поскольку любые сбои в платежных системах могут привести к значительным финансовым потерям
- Детальный анализ больших пакетных файлов, при котором каждая транзакция должна проверяться отдельно без потери контекста всего пакета
Основные цели проекта
Чтобы соответствовать всем требованиям проекта, мы определили следующие цели:
- Автоматизировать проверки соответствия ALR/AML для мгновенных SEPA-платежей
- Классифицировать транзакции по категориям: принятые, подозрительные и требующие ручной проверки
- Интегрироваться в основные банковские процессы без существенного увеличения задержек
- Использовать шардинг и горизонтальное масштабирование для обработки пиковых нагрузок (например, выплаты зарплат в конце месяца)
- Обеспечить надежное хранение сообщений и возможность их поиска для аудита и регуляторной отчетности
- Реализовать отказоустойчивую архитектуру active-active без единой точки отказа
Краткое описание проекта
Мы разработали высокопроизводительную платформу связующего ПО для финансовых систем на основе потоковой обработки и распределенной передачи сообщений. Apache Kafka обеспечивал надежный прием и очередность сообщений, позволяя системе обрабатывать большие объемы SEPA-транзакций без потерь данных.
SEPA-сообщения и результаты обработки хранились в шардированной базе MongoDB, что обеспечивало горизонтальное масштабирование, высокую производительность при одновременной записи и быстрый доступ к данным для аудита и регуляторной отчетности.
Инфраструктура работала в конфигурации active-active, устраняя единую точку отказа и обеспечивая непрерывную обработку даже при сбоях или проведении технического обслуживания.
В on-premise развертываниях платформа стабильно обрабатывала десятки тысяч SEPA-запросов в секунду, сохраняя при этом высокую точность соответствия требованиям регуляторов.
Решение
Результатом стало высокодоступное связующее ПО для финансовых систем, способное работать непосредственно внутри SEPA-платежных процессов. Система перехватывала входящие пакетные SEPA-файлы, разбивала их на отдельные транзакции и выполняла автоматические проверки соответствия как на уровне каждой операции, так и всего пакета.
Каждый платеж классифицировался как принятый, подозрительный или требующий ручной проверки, что гарантировало передачу на исполнение только соответствующих требованиям транзакций. Рисковые или неполные операции блокировались либо направлялись на дополнительную проверку.
Платформа была спроектирована с учетом экстремальных нагрузок и высокой отказоустойчивости, поддерживая десятки тысяч SEPA-запросов в секунду благодаря архитектуре active-active, горизонтально масштабируемому хранилищу и потоковой обработке в реальном времени.
Ключевые возможности
- Разбиение пакетов и обработка транзакций SEPA с последующей контекстной сборкой проверенных операций
- Автоматическая трехуровневая классификация:
Accepted (немедленное выполнение), Suspicious (блокировка), Manual (ручная проверка) - Потоковая обработка и очереди сообщений на базе Apache Kafka для надежной работы с большими объемами данных без потерь
- Отказоустойчивая архитектура active-active без единой точки отказа с соответствием требованиям DORA (Digital Operational Resilience Act)
- Низкая задержка при проверке транзакций, оптимизированная под десятки тысяч SEPA-запросов в секунду
- Гибридная модель развертывания: поддержка как SaaS, так и on-premise решений для соблюдения банковских требований к безопасности
Технологический стек
Чтобы обеспечить соответствие строгим регуляторным требованиям и стабильную работу при экстремальных нагрузках, был выбран следующий технологический стек:
- Бэкенд: Java
- Брокер сообщений: Apache Kafka (высоконагруженные очереди и потоковая обработка)
- База данных: MongoDB (шардированный кластер)
- Архитектура: Распределенная отказоустойчивая архитектура active-active
- Поддержка протоколов: SEPA / ISO 20022
- Развертывание: SaaS и on-premise среды
- Модуль соответствия: Логика ALR / AML и обработка правил проверки транзакций
Результат
Система обеспечила надежную и высокоскоростную проверку соответствия SEPA-транзакций в масштабах, необходимых для крупнейших европейских банков. В частности, были достигнуты следующие результаты:
- Снижение регуляторных рисков за счет автоматической проверки каждого SEPA-сообщения на соответствие требованиям ЕС до его исполнения. Архитектура также поддерживает интеграцию с ИИ-моделями для выявления мошеннических паттернов, что делает решение более устойчивым к будущим изменениям.
- Повышение операционной эффективности благодаря автоматизации фильтрации больших объемов транзакций и сокращению ручной проверки только до действительно подозрительных случаев.
- Высокая производительность при пиковых нагрузках — стабильная обработка десятков тысяч SEPA-запросов в секунду в крупных банковских системах.
- Повышенная отказоустойчивость инфраструктуры за счет архитектуры active-active, обеспечивающей непрерывную обработку платежей даже во время обслуживания системы или локальных сбоев оборудования.