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

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

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

Scroll

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

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

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

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

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

Решение

Решение

Решение

icon

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

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

Решение

icon

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

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

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

icon icon
Scroll

Архитектура
решения

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

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

Результаты

300+ млн

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

100 K+ RPS

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

6 мес

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

Получить консультацию

Заказать демо

Спасибо за обращение

Специалисты Tarantool свяжутся
с вами по оставленным контактам