Как запустить технологичный продукт с пропускной способностью 100 K+ RPS

Как запустить технологичес­кий продукт с пропускной способностью 100 К+ RPS

VK Process Mining — российское Enterprise-решение, которое помогает управлять процессами и показателями бизнеса в реальном времени. Платформа исследует бизнес-процессы, находит расхождения с регламентами и лишние согласования. Продукт разработан на базе платформы in-memory-вычислений Tarantool.

Задача и требования

Изначально платформа процессной аналитики VK Process Mining появилась как заказное решение для конкретного проекта. Существующие на рынке продукты не отвечали требованиям заказчика, и поэтому разработку нового решения доверили компании VK. После реализации проекта VK Process Mining стала частью продуктового портфеля VK Цифровые технологии.

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

По мере продвижения проекта требуется разбивать процессы на разные модели данных за периоды и сравнивать все в динамике. При этом корпоративные информационные системы постоянно генерируют новые данные, которые тоже нужно анализировать. Поэтому VK Process Mining потребовалось кластерное решение, которое бы соответствовало требованиям:

  • Горизонтальное масштабирование;
  • Обработка большого объема данных;
  • Аналитика на основе тысяч атрибутов из различных систем;
  • Загрузка данных в режиме реального времени.

Решение

Команда изучила несколько вариантов:

  • Решения на базе PostgreSQL, включая кластерные;
  • Классические графовые СУБД. В момент разработки ни одну графовую СУБД нельзя было полноценно масштабировать без существенной доработки;
  • ClickHouse с колоночным хранением. Однако колоночные СУБД не обеспечивают достаточное быстродействие;
  • Платформа in-memory-вычислений Tarantool.

Разработчики VK Process Mining сделали выбор в пользу решения на базе Tarantool Cartridge — фреймворка Tarantool для масштабирования. Он позволяет создавать и настраивать кластеры из нескольких экземпляров Tarantool. Кластер Tarantool совмещает сервер приложений и СУБД.

В частности, на базе Cartridge построена вся бизнес-логика. В кластере Tarantool, помимо классических ролей «процессинг» и «хранилище», есть узлы-воркеры и узлы-роустораджи. Они обеспечивают хранение и обработку сырых данных, получение данных из внешних источников, выполнение фоновых процессов, заданий машинного обучения и прогнозирования.

Почему речь идет именно об источниках — во множественном числе? Обычно бизнес-процессы протекают в нескольких информационных системах. Поэтому в VK Process Mining входит модуль ETL (Extract, Transform, Load), также созданный на базе Tarantool. Он позволяет забирать из внешних систем данные по настроенным правилам, преобразовывать их в цепочки событий и складывать в систему.

scroll-схема
solutions scheme

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

В VK Process Mining есть классическое веб-приложение с фронтом, бэком и хранением данных. Tarantool работает как веб-сервер, причем производительный. Он выдерживает нагрузку в сотни тысяч RPS. Между системой и пользователем дополнительно есть HTTP-балансировщик.

Результаты

  • 300+ млн

    Событий обработано без падения производительности на клиентском проекте

  • 100 K+ RPS

    Скорость получения данных из внешнего источника и их обратки

  • 6 мес

    От начала разработки продукта до первого промышленного внедрения

Другие
истории успеха

How Yota Changed Architecture with Tarantool-Based Cache
Yota Logo
How Tarantool speeds up Megafon services
Alfa Bank Logo

Расскажите о задачах вашего проекта, и мы составим для вас решение на Tarantool

Get
a consultation

Order
a demo

Thank you for your request

Tarantool experts will contact you shortly

Thanks
Thanks