Spark Streaming как решение для обработки событий (микросервисы) - PullRequest
0 голосов
/ 20 июня 2019

Пакетная обработка Spark приносит большую пользу нашему бизнесу, поскольку ее очень легко масштабировать по горизонтали (мы используем AWS EMR с YARN).

Однако возникла новая проблема, поскольку наше новейшее частное решение следуетмикросервисная архитектура.На данный момент существует ~ 230 микросервисов, выступающих в качестве производителя , в которых события хранятся в Kafka (что означает ~ 230 тем Kafka).

Хотя нам удалось проверитьиспользование Spark Streaming в качестве обработки событий для создания самого последнего состояния объектов. Правильно ли я говорю, что мне потребуется одно приложение Spark Streaming для каждой темы Kafka (то есть ~ 230 приложений)?

Если так, то нашкластер с 48 vCPU и 192 ГБ памяти может одновременно обрабатывать только 52 потоковых приложений .Это звучит слишком мало, так как эти приложения (которые должны работать 24 часа) ничего не делают, поскольку они просто извлекают события каждые 5 секунд и выполняют операции CRUD для нашего хранилища данных.

Я скучаю по использованию потоковой передачи Spark?Какой другой подход или структуру вы бы выбрали / использовали?

1 Ответ

1 голос
/ 20 июня 2019

Это звучит неправильно, вам не нужно 230 тем для ваших микросервисов, и вам не нужно 230 приложений для потокового воспроизведения, однако вы будете использовать 1 задачу на раздел, что означает, что вам потребуется 230 * (разделов натема) ядра для запуска 230 или 1 приложения, которое вы решили создать, обратите внимание, что это зависит от трафика, но ваш лучший выбор может состоять в том, чтобы иметь только 1 тему или меньший набор тем, отфильтровать по потреблению.Вы можете подписаться на любое количество тем.Что касается того, что использовать для создания государственных хранилищ, вы можете посмотреть потоки кафки или потоки акка.Я бы вообще не рекомендовал потоковую передачу для производственных приложений (это утверждение квалифицируется как самоуверенное).Akka streams - это самый простой API для использования IMO, вам может потребоваться код вашего магазина и API поверх него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...