Технологии

В основе ReportsDrive передовые Open Source решения эффективного хранения данных и распределения вычислений.

OC

Серверная часть (backend)

Клиентская часть (frontend)

Нативные мобильные клиенты

Архитектура

Микросервисная архитектура ускоряющая и повышающая надёжность системы

Браузер

Приложение

Терминал

Nginx

Static Files

Авторизационный сервис

Шлюзы

Коммуникационный сервис

Сервис справочников

Сервис мониторинга

Сервис realtime аналитики

Сервис отчетов

Сервис уведомлений

Сервис ретрансляции

+10

Большое внимание уделено отказоустойчивости и масштабированию системы

16

Сервисов

150

Микросервисов

8

Серверов

4

Датацентра

Асинхронное взаимодействие

Взаимодействие между сервисами построено на обмене JSON-сообщениями по протоколу HTTP в асинхронном режиме

Независимость сервисов

Каждый сервис работает с Шлюзом, через который происходит маршрутизация сообщений. Шлюз не хранит состояние, опираясь на статическую таблицу маршрутизации, что позволяет запускать неограниченное количество его экземпляров для масштабирования и обеспечения отказоустойчивости

Принцип "Let It Crash"

Обеспечивает максимальную устойчивость к ошибкам: сбой одного компонента не влияет на работу всей системы, а восстановление происходит автоматически

Незаметные обновления

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

Отзывчивость

Благодаря использованию быстрого и масштабируемого хранилища ClickHouse, а также параллельной и распределённой обработки с применением Akka, достигается высокая отзывчивость приложения и простота масштабирования.

Независимость компонентов

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

ReportsDrive

Наши подходы позволили построить реактивную архитектуру с высокой скоростью формирования отчётов

Скорость формирования отчётов

1x

Скорость формирования отчётов при оптимизации платформы и БД

1.5x

Скорость формирование отчётов с интегрированной технологией ReportsDrive (доступна всем пользователям)

4.5x

1 секунда

1 секунда на отчёт
по 500 объектам за 3 месяца

10 секунд

10 секунд на отчёт
по 3000 объектам за 3 месяца

1 минута

1 минута на отчёт
по 10 000 объектам за 6 месяцев

Принципы

С самого начала разработки платформы мы соблюдали принципы Реактивной архитектуры

Михаил Шевелевич

Технический директор SKIF.PRO

Мы строим систему на принципах реактивной архитектуры, которая позволяет достигать высокой надёжности, масштабируемости и отзывчивости даже при росте нагрузки или в условиях отказов отдельных компонентов

Отзывчивость
Cистема быстро реагирует на запросы и остаётся доступной даже под высокой нагрузкой.о.

Устойчивость к сбоям (Resilience)
За счёт изоляции компонентов, автоматического восстановления и использования принципа let it crash система продолжает работу при возникновении ошибок.

Ориентированность на сообщения (Message-Driven)
Сервисы взаимодействуют между собой с помощью асинхронной передачи сообщений, что снижает связанность компонентов и повышает отказоустойчивость.

Гибкость масштабирования (Elasticity)
Благодаря асинхронной обработке, независимости сервисов и горизонтальному масштабированию система адаптируется к изменяющейся нагрузке.