EliseeAlex.me

Дорожная карта первой версии проекта dynamica

Создание MVP сервиса аналитики просмотров страниц на Scala, Akka и InfluxDb

Для создания продуктов я использую короткие итерации.
Я называю их экспериментами.
Об одном из таких экспериментов я рассказываю в этой секции.

Я уже сделал попытку создания сервиса для аналитики на хакдее. Но я не довёл проект до конца, переоценил свои силы и взялся за слишком большую задачу. Время для работы над ошибками: я сделаю проект, который делает всё так, как я хочу, но у которого очень мало фич. А именно одна: сбор статистики количества просмотров страницы. Это будет MVP, в конце проекта я встрою его к себе на сайт. И в следующем проекте будут развивать этот продукт, улучшать его и начну решать проблемы.

Мне нравятся скала и акка, в их основе лежат классные идеи, но я пока не распробовал их на реальных проектах. Это мой шанс. Попробую развить этот проект и не буду голословным.

Ещё, эта серия статей связана с клубом разработки CodeX. Мне удалось пролобировать скалу для нового проекта. Эта статья будет простым введением в скалу. На основе опыта, который я получу в этом проекте я создам практический курс по анализу данных с помощью скалы и акки.

Цель проекта

Показать, чем могут быть полезны scala, akka и influxdb для анализа данных.

Целевая аудитория

Программисты, которым интересен анализ данных, которые хотят узнать, за что многие аналитики так любят скалу.

Что я хочу от целевой аудитории?

Хочу, чтобы читатели убедились, что анализ данных на Scala — это просто и применили знания на практике.

Как я этого добьюсь?

  • Я сделаю краткий обзор основных аспектов языка и библиотеки akka.
  • Расскажу, как я учёл рекомендованные практики при создании своего проекта.
  • Оставлю свои контакты и попрошу писать, чтобы получить совет.
  • Оставлю призыв к действию, направленный на развитие моего проекта. К концу серии статей, он станет понятным читателю и работа над ним позволит закрепить знания на практике.

Что будет реализовано в рамках проекта?

Я запилю сервис, который будет:

  • принимать запросы о просмотре страниц в формате json;
  • записывать данные в InfluxDb (асинхронно, пакетами по несколько точек);
  • по запросу отдавать количество просмотров страницы.

Статьи, посвящённые развитию этого проекта справа выше. И да, пишите мне и присоединяйтесь к работе над этим и следующими проектами. Если не уверены, что сможете помочь, всё равно пишите, может смогу помочь я.

Шаг 1
Первый взгляд на Akka

Зачем скале акка? Кто такие акторы? Зачем они нужны? Как акка делает многопоточность проще?


Шаг 2
Akka на практике, первые шаги

Введение в акку, разбираемся с примитивами и учимся использовать их в собственной архитектуре


Шаг 3
Создание проекта, настройка логирования и подключение зависимостей

Подключим зависимости и проверим, что всё работает