Top.Mail.Ru
 

Разработка и оптимизация модулей банковской АБС для высоконагруженной обработки запросов

О продукте

Категория: финансовые системы / финтех
Тип продукта: модули автоматизированной банковской системы (АБС)

Проект представлял собой набор модулей банковской АБС, входящих в цепочку обработки пользовательских запросов. Сервисы отвечали за обработку сообщений, агрегацию данных и интеграцию с внешними системами банковского сектора.

Система работала в условиях высокой нагрузки и использовалась для обработки большого количества заявок в режиме реального времени. Из-за особенностей инфраструктуры приложение функционировало на одном инстансе, поэтому к проекту предъявлялись повышенные требования по производительности, отказоустойчивости и качеству кода.

Дополнительным фактором были регулярные проверки со стороны информационной безопасности, поэтому архитектурные и кодовые решения должны были соответствовать внутренним требованиям ИБ.

Задача

На момент подключения к проекту основной бизнес-функционал банковской системы уже был реализован. Основными задачами стали:
  • завершение незакрытых фич
  • оптимизация производительности
  • подготовка системы к работе в мультитенантном режиме
  • повышение отказоустойчивости банковского приложения
Для реализации мультитенантности был внедрён распределённый кеш Hazelcast, заменивший локальное кеширование на Caffeine. Это позволило значительно ускорить обработку запросов и сократить время формирования ответа пользователю.
После внедрения распределённого кеширования и проведения нагрузочного тестирования были дополнительно настроены деплои в несколько ЦОД, что повысило устойчивость системы к инфраструктурным сбоям.

Команда

Над проектом работала:
  • техлид
  • аналитик
  • Java-разработчик со стороны Software Cats
Все задачи по разработке находились в зоне ответственности разработчика.
Техлид занимался ревью решений и кода, аналитик отвечал за постановку и уточнение требований.

Технологический стек

Основные технологии:
Архитектура строилась вокруг цепочки сервисов, взаимодействующих между собой по REST и обрабатывающих XML-документы, поступающие от внешних систем.

Технические вызовы и решения

Наиболее сложной задачей стала реализация корректной работы с уникальными вложенными XML-тегами.

Для решения проблемы был добавлен механизм конфигурирования составного ключа уникальности тега. Далее этот ключ использовался при сравнении и слиянии XML-документов, что позволило корректно обрабатывать сложные структуры данных без потери информации.

Дополнительно была реализована работа распределённого кеша Hazelcast в мультитенантном режиме, а также проведена оптимизация обработки запросов под высокую нагрузку.

Результаты

В рамках проекта были подготовлены и выведены в продакшен два релиза.

Внедрение мультитенантности и распределённого кеширования позволило подключить три тенанта и сократить время формирования ответа пользователю в среднем на 70%.
Дополнительная настройка деплоев в разные ЦОД повысила отказоустойчивость системы и устойчивость к сбоям инфраструктуры.

Решение используется в продакшене как часть банковской АБС.
После завершения основной фазы разработки команда неоднократно возвращалась к проекту для дальнейшей поддержки и развития.

Инсайты и уроки

Проект показал, что даже сложную высоконагруженную систему можно строить из относительно простых и изолированных модулей. Такой подход упрощает поддержку, развитие и масштабирование системы.

Отзывы:

Со стороны команды и заказчика результаты работы были оценены положительно.
После завершения основных задач разработчик неоднократно привлекался к дальнейшей поддержке и развитию решения.
Со стороны команды Software Cats
Обсудить проект _
Если у вас есть ИТ-проблема , оставьте свои контакты, и мы поможем правительству спланировать ее решение . Обещаем не рассылать спам.
hello@softwarecats.dev
Новосибирск, ул. Демакова
23/5, оф.308
Контакты _

Еще про наши проекты: