Как кеширование используют в финтехе: опыт Газпромбанка
На этой странице

Зачем кешировать?

Какую систему кеширования используют в Газпромбанке?

Как работает кеширование?

Кто работает с IMDG в Газпромбанке?



Тэги
технологии
Как кеширование используют в финтехе: опыт Газпромбанка

Кеширование — это высокоскоростной уровень хранения. В кеше хранят копии всей информации из баз данных или из их реплик. Благодаря этому пользователь мгновенно получает ответ на свой запрос. Например, когда он обновляет информацию по своим продуктам в приложении банка, запрос отправляется не в базу данных, а в кеш. Если вдруг база перестанет работать, то вся информация есть в кеше: пользователь не почувствует, что в банке случился сбой.

Рассказываем, какой вид кеширования используют в Газпромбанке и какие задачи с помощью него решают. Делаем это вместе с проджект-менеджером Маргаритой Артеменко и куратором по направлению системного анализа Максимом Шейко.

Зачем кешировать?

Кеширование применяют для решения следующих задач, которые стоят перед автоматизированными системами:

  1. Повышение SLA предоставления ответа клиенту.
  2. Снижение нагрузки на банковские учетные системы.

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

За день кеш обрабатывает примерно 1 млн запросов и отвечает на них в среднем за 25 миллисекунд. Если бы клиенты мобильного банка обращались напрямую в АБС, то они получали бы информацию медленнее в 20–100 раз в зависимости от типа запрошенных данных и нагрузки на базу.

Какую систему кеширования используют в Газпромбанке?

Газпромбанк использует IMDG (In-Memory Data Grid) — хранилище, которое состоит из механизма синхронизации и платформы для управления базами данных.

Механизм забирает информацию из АБС, создает реплики баз данных и передает их в оперативную память. Благодаря такому алгоритму кеш может получать 3 000 запросов в секунду и обрабатывать их за 0,2 секунды.

Платформа состоит из собственной базы данных и сервера приложений на языке программирования Lua. Это преимущество IMDG: на Lua администратор сам настраивает логику, по которой будет храниться и передаваться информация.

В кеш Газпромбанка из нескольких баз попадает информация:

  • о вкладах, картах, счетах и кредитах;
  • курсы валют;
  • ИНН и КПП филиалов и данные по отделениям банка.

Как работает кеширование?

В кеш актуальная информация попадает двумя способами:

  • Через механизм в репликах, который передает новые данные в IMDG. Кеш обращается в базы данных, вычитывает новые и измененные данные через короткие интервалы времени. Этим он обеспечивает быстрое получение изменений, например по остаткам на счетах клиентов.
  • Через подписку на топик с изменениями. В этом случае кеш получает актуальные данные от источника мгновенно, как только информация обновилась. Например, клиент банка хочет посмотреть курс валют. Он обновляет страницу в мобильном приложении. Приложение проверяет, изменились ли данные в кеше. Если изменились, пользователь видит на странице новые значения курса.

Данные хранятся в кластерах — группе физических и виртуальных серверов с общей логикой. На серверах расположены узлы с компонентами — базами данных, дополнительным кодом с настроенной логикой и продюсером.

Продюсер формирует ключи для объектов в IMDG, по которым пользователь находит нужные ему данные. Ключ — это набор полей, которые все вместе создают уникальный идентификатор записи. Например, это могут быть пара значений ID системы-источника и ID счета клиента. Узлы дублируют друг друга: если один или несколько узлов откажут, система продолжит работать и не потеряет данные.

Если система работает стабильно, свежие данные попадают из базы АБС в кеш с задержкой не больше нескольких секунд. Если возникнет задержка в репликации данных, допустимо предоставлять информацию с актуальностью:

  • 10 секунд, если запрос поступает от сотрудника банка;
  • 5 минут, если запрос отправил клиент из мобильного приложения.

То есть, если клиент решит посмотреть актуальную информацию по своим счетам, это не значит, что страница подвиснет на целых 5 минут. Если данные в кеше не успели обновиться до актуальных, запрос пользователя отправится в базу. Нагрузка на базы увеличивается, поэтому информация может прийти с задержкой. Например, страница будет загружаться на несколько секунд дольше.

В Газпромбанке используют автоматический мониторинг IMDG. Он отслеживает время актуальности информации, которая поступает в кеш. Если это время не укладывается в рамки допустимого лага — 10 секунд для запросов банковского сотрудника и 5 минут для пользователя приложения, — то системы получают сообщение, что скорость синхронизации с базами снизилась.

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

Кто работает с IMDG в Газпромбанке?

В Газпромбанке сейчас разрабатывают решение, благодаря которому сотрудники и клиенты будут получать всегда актуальные данные без задержек.

Над кешированием работает команда из семи человек. В нее входят product owner, проджект-менеджер, архитекторы, аналитики и тестировщик.

Команда работает трехнедельными спринтами:

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

Сейчас команда подключила через кеширование такие сервисы:

  • запрос данных по карточным договорам;
  • запрос данных по кредитным договорам;
  • запрос данных по договорам вкладов, БТС и ОМС;
  • поиск клиента по номеру вклада, счета или договора;
  • получение актуального курса валют в любой момент.
В перспективе сотрудники Газпромбанка с помощью кеширования смогут быстро получать информацию по платежным операциям клиентов из Payment Hub.

Другие статьи по теме

30 Ноября, 2021

Что такое платежный хаб и как он работает

В середине 2019 года Газпромбанк запустил платежный хаб. Рассказываем, как это было.

Читать

24 Ноября, 2021

Как внедрение 5G повлияет на финтех

Разбираемся, как новый стандарт связи может изменить финтех и банковские услуги.

Читать

12 Ноября, 2021

Интернет вещей в финтехе: что есть сейчас и чего ожидать в будущем

Михаил Попов, основатель TalkBank, рассказывает об интернете вещей и о том, как технологию применяют в финтехе.

Читать

1 Ноября, 2021

В какие ниши придет финтех

Рассказываем, в каких нишах финтех работает уже сейчас, а в каких только начинает развиваться.

Читать

18 Октября, 2021

Газировка за улыбку: как биометрия меняет жизнь банковских клиентов

Что такое биометрия, как ее используют банки и что нас ждет в будущем с единой биометрической системой

Читать

7 Октября, 2021

Система быстрых платежей: как она развивается в России

История и современные тенденции первого в стране централизованного финансового сервиса.

Читать