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

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

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

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

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

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

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

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

Решение

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

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

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

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

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

scroll-схема
solutions scheme

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

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

Результаты

  • 300+ млн

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

  • 100 K+ RPS

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

  • 6 мес

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

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

Как Tarantool ускоряет сервисы МегаФон
Alfa Bank Logo
Как Yota изменили архитектуру с кэшированием на Tarantool
Yota Logo

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

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

Заказать
демонстрацию

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

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

Thanks
Thanks