Skip to content

Latest commit

 

History

History
101 lines (62 loc) · 3.95 KB

1.6-accelerate-events.md

File metadata and controls

101 lines (62 loc) · 3.95 KB

Разгоняем обработку событий до 1.6М/сек. Опыт Badoo

Александр Крашенинников, Badoo

Темы доклада:

  • Зачем собирать статистику
  • Как это делать
  • Как показывать и анализировать

Зачем собирать статистику

  • Мониторинг жизнеспособности проекта
  • давать ответы на вопросы бизнеса
  • хочешь улучшить — измерь

Жизненный цикл статистики

1. Define

Что собираем?

  • Бизнес-метрики приложения
  • Полутехнические — инсталляции приложений, UX
  • Трекинг поведения пользователей

2. Collect

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

Доставка событий

  • конвейер обработки — внешняя система. Так лучше, потому что статистику создают микросервисы.
  • статистика отвязана от хранилищ для бизнес-логики
  • данные из контекста приложения переносим вовне

Нужен транспорт. Выбираем его под задачу и мощности. Аспекты: гарантии доставки, биндинги для языков программирования, масштабируемость.

Варианты: РСУБД, Flume, Kafka, LSD.

В Badoo используют LSD — Live Streaming Daemon.

3. Process

Что хотим получить из данных?

  • Построить графики с долгосрочной историей
  • выполнять ad-hoc запросы

Как рисовать график?

  • из сырых данных
  • из time series

Будем использовать гибридный подход: от каждого свои преимущества. Хвост из сырых данных и долгосрочный timeseries.

Метрики росли, компания последовательно переходила по технологиям:

  • MySQL
  • Sharding
  • Hadoop
  • Spark
  • ClickHouse

ClickHouse

«Инструмент классный, документация ваще огонь, я сам туда писал».

Итоги фазы:

  • Научились выбирать технологии под масштаб
  • Выбрали ClickHouse и пока не упёрлись в потолок

4. Present

Доступ к данным

  • Дашборды из time series
  • drop detection — самое необычное поведение пользователей
  • anomaly detection. Для каждой метрики вычисляем предсказание и threshold. Если потом метрика выходит за пределы, включаем alert.

Результаты фазы Present:

  • дашборды с графиками
  • ручной мониторинг метрик
  • автоматика Anomaly Detection