119415, г. Москва
Ленинский пр-т, д. 116, корп. 1
OC
Серверная часть (backend)
Клиентская часть (frontend)
Нативные мобильные клиенты
Браузер
Приложение
Терминал
Nginx
Static Files
Авторизационный сервис
Шлюзы
Коммуникационный сервис
Сервис справочников
Сервис мониторинга
Сервис realtime аналитики
Сервис отчетов
Сервис уведомлений
Сервис ретрансляции
+10
16
Сервисов
150
Микросервисов
8
Серверов
4
Датацентра
Асинхронное взаимодействие
Взаимодействие между сервисами построено на обмене JSON-сообщениями по протоколу HTTP в асинхронном режиме
Независимость сервисов
Каждый сервис работает с Шлюзом, через который происходит маршрутизация сообщений. Шлюз не хранит состояние, опираясь на статическую таблицу маршрутизации, что позволяет запускать неограниченное количество его экземпляров для масштабирования и обеспечения отказоустойчивости
Принцип "Let It Crash"
Обеспечивает максимальную устойчивость к ошибкам: сбой одного компонента не влияет на работу всей системы, а восстановление происходит автоматически
Незаметные обновления
Система поддерживает горячие обновления без остановки работы. Обновления и развертывание новых версий проходят незаметно для пользователей и не требуют перерыва в обслуживании.
Отзывчивость
Благодаря использованию быстрого и масштабируемого хранилища ClickHouse, а также параллельной и распределённой обработки с применением Akka, достигается высокая отзывчивость приложения и простота масштабирования.
Независимость компонентов
Каждый сервис использует собственное хранилище и собственную очередь сообщений, что исключает взаимозависимость микросервисов
Скорость формирования отчётов
1x
Скорость формирования отчётов при оптимизации платформы и БД
1.5x
Скорость формирование отчётов с интегрированной технологией ReportsDrive (доступна всем пользователям)
4.5x
1 секунда
1 секунда на отчёт
по 500 объектам за 3 месяца
10 секунд
10 секунд на отчёт
по 3000 объектам за 3 месяца
1 минута
1 минута на отчёт
по 10 000 объектам за 6 месяцев
Отзывчивость
Cистема быстро реагирует на запросы и остаётся доступной даже под высокой нагрузкой.о.
Устойчивость к сбоям (Resilience)
За счёт изоляции компонентов, автоматического восстановления и использования принципа let it crash система продолжает работу при возникновении ошибок.
Ориентированность на сообщения (Message-Driven)
Сервисы взаимодействуют между собой с помощью асинхронной передачи сообщений, что снижает связанность компонентов и повышает отказоустойчивость.
Гибкость масштабирования (Elasticity)
Благодаря асинхронной обработке, независимости сервисов и горизонтальному масштабированию система адаптируется к изменяющейся нагрузке.