Backstreet Boys, пиковые нагрузки и искусство балансировки: что обсуждали на митапе Highload fintech от Halyk Bank?

В Кахахстане прошел второй ИТ-митап из серии Halyk Tech Sprints на тему высоких нагрузок в финтехе совместно с Rocket Tech.

Ведущие специалисты по развитию банкинга и инфраструктуры поделились кейсами и практиками, которые обеспечивают стабильную работу цифровых сервисов банка в режиме 24/7.

«В банке твоя работа сразу попадает под высокую нагрузку – сделать что-то плохо не получится»

Мгновенные платежи, удобные покупки и авторизация за пару секунд – любой современный банк должен работать на высоких скоростях. Однако обрабатывать десятки тысяч транзакций и операций в режиме нон-стоп под силу только высоконагруженным Highload-системам.

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

«Чем мне нравится разработка в банке – вся твоя работа сразу попадает под высокую нагрузку, поэтому сделать что-то плохо просто не получится. У нас 11,1 млн активных пользователей в приложении Halyk SuperApp, и доступность всех цифровых сервисов – один из главных показателей эффективности всей IT-команды. Несколько лет назад мы установили KPI по простою в работе всех наших продуктов, а также ведем учет скорости обработки операций. При этом выдерживать высокие нагрузки и отвечать требованиям бизнеса невозможно без постоянного улучшения IT-систем и инфраструктуры», – поприветствовал участников митапа управляющий директор банка Руслан Серазитдинов.

На первый взгляд, авторизация – базовый сервис, который есть в любом банке, но за кажущейся простотой лежат высокие нагрузки на всю систему. Особенно, когда услугами одновременно хотят воспользоваться сотни тысяч клиентов. Помимо основных банковских сервисов авторизация охватывает все продукты Halyk SuperApp, включая страхование, market, travel, kinо.kz и др. Это не считая интеграций с партнерскими эко-системами через BaaS-сервис Halyk ID.

По словам замдиректора департамента Halyk SuperApp Николая Сулимова, фиксировать повышение нагрузок IT-команде помогают множество метрик. Также специалисты отслеживают очереди запросов, появление ошибок и не только.

Николай Сулимов

«Почему авторизация всегда ломается первой? Совершаете ли вы платеж или покупаете билет на концерт – точка входа неизменна. Все это происходит на одном и том же сервисе, где по определению самый высокий трафик. К шторму нужно быть готовым заранее. По маркерам мы выявляем узкие места, расширяем инфраструктуру на случай пиковых нагрузок и обучаем команду. Также регулярно проводим нагрузочные тесты, чтобы оценить работу сервисов на предельных значениях, и оптимизируем ресурсы», – рассказал Николай Сулимов.

Backstreet Boys: успеть все

Следующий доклад был посвящен июльскому старту продаж билетов на концерт Backstreet Boys в Алматы через сервис Kino.kz. Как отметил исполняющий обязанности директора департамента инновационных технологий Кирилл Фролов, избежать отказа сервиса из-за резкого наплыва 50-60 тысяч человек помогли несколько превентивных мер:

Кирилл Фролов

  1. Расширение процессорной мощности (CPU), чтобы ускорить обработку запросов, и оперативной памяти (RAM) – для обработки увеличенного объема данных.
  2. Оптимизация кода и запросов силами ИТ-команды Kino.kz
  3. Запуск цифровой очереди на отдельном лендинге и группировка покупателей билетов на концерт в отдельную категорию, чтобы не блокировать остальные продажи на платформе.
  4. Антифрод-меры, не позволяющие обойти очередь.
  5. Введение временного лимита для каждого пользователя в системе, чтобы исключить из очереди тех, кто передумал, но задерживал бы других.
  6. Ограничение по количеству пользователей, одномоментно находящихся на платформе во время покупки билетов.
  7. Проработанный UX, чтобы скрасить клиентам время ожидания. Разработчики добавили на лендинг-страницу песни группы и интересные факты о коллективе. При этом клиенты видели свое место в очереди и скорость ее движения.

Кирилл Фролов

«Суммарно мы увеличили ресурсы платформы kino.kz на 100% по сравнению с обычным режимом работы. Стек технологий выбрали простой – язык Go для приложений, потому что в нем у нас много экспертизы. На фронтенде использовали NuxtJS, чтобы быстро запускать приложения, а для хранения состояния – базу данных Redis. Наша система автоматически перенаправляла покупателей на отдельную лендинг-страницу с очередью и проверяла статус покупки билетов каждые 5 секунд. В итоге система выдержала, и мы успешно продали 80% билетов в первые два дня», – поделился Кирилл Фролов.

Об искусстве балансировки к мультиоблаку

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

Олег Ивакин

Эксперт выделил два подхода к масштабированию ИТ-инфраструктуры – вертикальный и горизонтальный. Первый предполагает расширение производительности и мощности с помощью железа. Второй же ускоряет обработку запросов за счет кэшей – временных хранилищ копий данных.

«Для эффективной масштабируемости нужна балансировка, иначе от нее не будет толку. Для этого мы используем разные технологии управления запросами. Например, L4, которая быстро и эффективно раскидывает потоки соединений по серверам, а также L7 – для более подробного анализа запросов и их отправки в нужные сервисы. Также применяем подход VxLAN-фабрики для управления сетью из нескольких дата-центров в разных локациях как единой системой. Также ведем обязательный мониторинг в реальном времени», – отметил Олег Ивакин.

Алексей Калинников

Современные банковские системы опираются не только на физическую, но и на облачную инфраструктуру. Финальный доклад заместителя председателя правления Halyk Kazteleport Алексея Калинникова был посвящен тому, в каких случаях стоит переходить на multi-cloud и какие преимущества дает распределение нагрузки между разными облаками.

Руслан СеразитдиновHighload fintechHighLoadRocket TechHalyk