Real time обработка пользовательских данных в мобильном приложении «ВТБ Бизнес Lite»
ВТБ внедрил платформу in-memory-вычислений Tarantool при переходе бэкэнд-системы мобильного приложения «ВТБ Бизнес Lite» на микросервисную архитектуру. Платформа используется как хранилище для прогретого кэша предподготовленных данных и взаимодействует со всеми системами, хранящими пользовательские данные.
Проект был реализован в период с августа 2021 г. по июль 2022 г.
Масштаб проекта - 40 000 человеко-часов, партнер проекта - VK Tech
Каковы цели проекта?
- Ускорение обмена данными между внутренними системами банка и мобильным приложением «ВТБ Бизнес Lite». Из-за хранения пользовательских данных в разных сервисах с разным уровнем SLA на ответ обмен мог занимать несколько секунд и создавал высокую нагрузку на инфраструктуру. Как результат, информация в приложении обновлялась неудовлетворительно долго.
- Повышение отказоустойчивости системы. Увеличение количества пользователей приложения могло привести к проблемам с обработкой и доступом к данным.
- Повышение производительности обработки запросов. Повышенное число запросов к мастер-сервисам могло повлиять на оперативность их обработки, а также повлиять на другие системы-потребители мастер-данных.
В чем уникальность проекта для рынка?
ВТБ внедрил платформу in-memory-вычислений Tarantool при переходе бэкэнд-системы мобильного приложения «ВТБ Бизнес Lite» на микросервисную архитектуру. Платформа используется как хранилище для прогретого кэша предподготовленных данных и взаимодействует со всеми системами, хранящими пользовательские данные.
Как проходило внедрение решения?
«ВТБ Бизнес Lite» — мобильный банкинг для юридических лиц и предпринимателей, в котором пользователям доступен широкий спектр банковских услуг. Мобильное приложение было выпущено в середине 2020 года и было построено на базе монолитного backend ДБО. В процессе эксплуатации стало понятно, что такое решение сложно поддерживать, обновлять и адаптировать под растущие нагрузки — в тот момент приложение использовали около 100 000 пользователей. Требовался переход на микросервисную архитектуру, который начался в апреле 2021 года.
После перехода на микросервисную архитектуру системы, хранящие пользовательские данные, например, об операциях, балансе, подключенных продуктах, привязке юридического лица и физическому, стали независимыми. Из-за поэтапного сбора клиентских данных обмен был долгим, и информация в мобильное приложение поступала с задержками. Проблема усугублялась ростом количества пользователей приложения.
Чтобы исключить задержки и гарантировать стабильную работу приложения, требовалось построить персистентный кэш. Он позволяет при обращении в первую очередь получать данные из оперативного хранилища, а не из мастер-системы, которая обслуживает большое количество потребителей и не всегда может обеспечить нужную скорость. При этом актуальность кэша обеспечивается через асинхронное обновление данных из брокера сообщений, а также при прямом обращении в rest API мастер-систем.
Для решения задач команда банка сравнила предложения и продукты разных вендоров. Продукт должен был входить в перечень разрешенных для банков технологий, обеспечить персистентность и масштабирование, легко интегрироваться в текущую архитектуру приложения. Всем критериям соответствовала только платформа in-memory вычислений Tarantool. Ее поэтапное внедрение началось в августе 2021 года.
С какими сложностями столкнулись при внедрении проекта?
Внедрение in-memory хранилища Tarantool проводилось одновременно с переходом мобильного приложения «ВТБ Бизнес Lite» с legacy монолита на новую омниканальную платформу на базе микросервисной архитектуры. Из-за этого требовалось не только интегрировать Tarantool в общий архитектурный контур, но и адаптировать его под мастер-системы, параметры которых в ходе проекта несколько раз менялись.
Также было важно внедрить Tarantool и перенаправить в него потоки пользовательских данных без даунтайма сервисов и нарушения доступа пользователей к своим данным.
Дополнительную сложность создавали сжатые сроки реализации проекта, которые нельзя было сместить из-за установленного старта миграции пользователей на новую микросервисную платформу.
Каких результатов удалось достичь?
Внедрение Tarantool позволило:
- Развернуть горячий персистентный кэш пользовательских данных: данные юридических лиц, данные физических лиц, информация о счетах, операциях, доступных клиентских сервисах и продуктах и т.д., что в сумме составило около 700 Гб постоянно обновляемых данных.
- Уменьшить нагрузку и снизить требования по количеству запросов в секунду и скорости ответа от 10 внутренних систем банка.
- Обеспечить обработку до 5000 клиентских запросов в секунду. При трёхкратном росте клиентской нагрузки текущая скорость ответа сохраняется на уровне 0,2-0,4 секунды.
- Построить масштабируемое in-memory-хранилище, в котором можно хранить до 2 ТБ кэша.
Реклама ООО "ВК ЦИФРОВЫЕ ТЕХНОЛОГИИ"