Details

Title Реактивный стек в разработке банковских сервисов - финтех: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Reactive Stack in development of banking services - fintech
Creators Лещинский Роман Георгиевич
Scientific adviser Александрова Ольга Всеволодовна
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects реактивное программирование ; виртуальные потоки ; Spring Webflux ; Project Loom ; финтех ; нагрузочное тестирование ; event loop ; конкурентность ; reactive programming ; virtual threads ; fintech ; load testing ; concurrency
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-2733
Rights Доступ по паролю из сети Интернет (чтение, печать)
Additionally New arrival
Record key ru\spstu\vkr\42619
Record create date 8/21/2026

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Group Anonymous
Network Internet

Работа посвящена сравнительному исследованию двух современных подходов к обработке высоконагруженных запросов в финансовых системах: реактивной модели на основе Spring WebFlux и виртуальных потоков Project Loom в сочетании с Apache Tomcat. В качестве объекта исследования разработан синтетический тестовый стенд, воспроизводящий архитектуру реального платёжного шлюза и включающий сервисы gateway и transfers с реализованными паттернами проектирования: двухуровневым кешем, circuit breaker и hash-ring балансировщиком. Нагрузочное тестирование проводилось инструментом k6 при нагрузке от 5 000 до 40 000 виртуальных пользователей по сценариям получения истории операций и выполнения платёжной транзакции. Задачи, решавшиеся в ходе работы: 1. Анализ требований финтех-систем к производительности, масштабируемости и надёжности. 2. Исследование блокирующей модели thread-per-request, реактивной модели Event Loop и механизма виртуальных потоков Project Loom. 3. Проектирование и реализация тестового стенда на основе двух архитектурных моделей: loom-tomcat и webflux-netty. 4. Проведение нагрузочного тестирования по четырём сценариям с различными паттернами нагрузки. 5. Сравнительный анализ метрик латентности, пропускной способности, потребления CPU и памяти. 6. Формирование практических рекомендаций по выбору стека для финтех-сервисов. В результате работы установлено, что реализация webflux-netty обеспечивает нулевой уровень потерь запросов при нагрузке до 40 000 виртуальных пользователей и устойчива к резким всплескам трафика. Сформулированы практические рекомендации по применению каждого из стеков в зависимости от характера нагрузки и архитектурных требований сервиса.

This work presents a comparative study of two modern approaches to handling high-concurrency requests in financial systems: the reactive model based on Spring WebFlux and Virtual Threads from Project Loom combined with Apache Tomcat. A synthetic test bench was developed as the object of study, reproducing the architecture of a real payment gateway and comprising gateway and transfers services with implemented design patterns: two-level cache, circuit breaker, and hash-ring load balancer. Load testing was performed using the k6 tool under loads ranging from 5,000 to 40,000 virtual users across two scenarios: retrieving transaction history and executing a payment transaction. The following tasks were addressed in the course of the work: 1. Analysis of fintech system requirements for performance, scalability, and reliability. 2. Investigation of the blocking thread-per-request model, the reactive Event Loop model, and the Virtual Threads mechanism of Project Loom. 3. Design and implementation of a test bench based on two architectural models: loom-tomcat and webflux-netty. 4. Load testing across four scenarios with varying load patterns. 5. Comparative analysis of latency, throughput, CPU and memory consumption metrics. 6. Development of practical recommendations for stack selection in fintech services. The study established that the webflux-netty implementation achieves a zero request loss rate under loads of up to 40,000 virtual users and demonstrates resilience to sharp traffic spikes. The loom-tomcat implementation showed lower latency and CPU consumption under moderate load with deep sequential downstream call chains. Practical recommendations were formulated for applying each stack based on traffic patterns and architectural requirements of the service.

Network User group Action
ILC SPbPU Local Network All
Read Print
Internet Authorized users SPbPU
Read Print
Internet Anonymous
...