Comments 6
Интересно.... Если нужно было хранить состояние, то почему не подошёл Flink?
Эту методологию на текущий момент можно реализовать и с помощью Flink. Такое решение тоже имеет право на жизнь. В нашем случае мы провели RnD на сравнение Flink vs Spark, то есть реализовали несколько кейсов, которые учитывают специфику наших данных, объёмы данных, особенности обработки. Запустили решение на одном и том же железе, на одних и тех же объёмах. Выяснили, что для решения одних и тех же задач, чтобы не создавать большие задержки в обработки данных Flink требуется больше ресурсов (CPU, RAM), чем Spark. То есть Spark обходился нам дешевле по ресурсам. Также важным фактором на тот момент был опыт и компетенции команды, в команде было больше опыта со Spark и мы могли более качественно проектировать решение. Было ещё несколько критериев, но эти моменты для нас были важнее. При этом считаю, что Flink отличный фреймворк, так как он имеет свои преимущества, на его основе можно сделать мощную систему стриминга, используя эту методологию.
Отличный образчик кусков мыслеблудия от ИТ- менеджера.
Эта статья состоит из двух частей. Первая часть содержит информацию о том, каким образом можно организовать подход к потоковой обработки данных, а вторая часть реализация этого подхода. В этой части статьи объясняется концепция, которая может быть реализована на многих популярных стеках технологий. На основе этой концепции реализована и работает система стриминга, что показывает, что эта концепция имеет право на жизнь. Подробнее о результатах и о нюансах реализации, со скриншотами метрик, характеристик железа и кусками кода будет во второй части, которая выйдет позднее.
За описанием инструментария почти не раскрыт вопрос «зачем все это нужно». В начале сказано, что «данные нужно обрабатывать». Для чего обрабатывать роуминг, геолокацию, звонки? Чтобы что получить? Если бы сказали, что пользователей подслушивают и анализируют контент речи, тогда хоть как-то был бы понятен смысл этого «стриминга»…
В этой статье действительно не описываются конкретные задачи, которые решаются с помощью системы стриминга на основе этой концепции. Сделано это сознательно, чтобы подчеркнуть, что данная концепция достаточно универсальна и позволяет решить широкий круг задач. В нашем мире можно заметить следующую парадигму: чем быстрее данные мы обработаем, тем больше выгоды мы сможем получить. Лучший способ сделать это - обрабатывать в режиме реального времени, насколько это возможно. Если говорить о телекоме, то можно привести следующие примеры задач:
Зная, что человек находится в роуминге, мы можем сразу же оповестить человека о том, что теперь у него роуминг и ему выгодней будет временно поменять тариф или подключить соответствующую услугу. Оповестить клиента нужно быстро, в режиме реального времени, чтобы клиент не тратил зря деньги.
Зная геолокацию, например, что человек находится в торговом центре и зная из кликстрима, что он искал конкретную модель телефона, мы можем прислать смс со скидкой, если он сейчас зайдёт в retail точку МТС.
Зная информацию по событиям звонков можно вычислить в режиме реального время спамеров, мошенников и быстрее их заблокировать.
На основе информации из кликстрима, геолокации, события звонков на номера других банков можно выявить клиентов, которых интересует финансовые услуги и предложить им в числе первых актуальные услуги, например кредит на более выгодных условиях. Этот кейс подходит и для финтеха. Можно придумать ещё множество кейсов в зависимости от идей и потребностей бизнеса.
Как организовать потоковую обработку данных. Часть 1