Можно ли использовать Kafka + Akka для обработки ~ 1500 отдельных процессов, которые не взаимодействуют друг с другом? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь проверить, подходит ли Akka для моего случая использования. Я раньше не использовал Акку, и у меня возникли проблемы с выяснением, подходит ли мне это, прежде чем я начну строить что-то, только чтобы понять, что это не сработает на полпути.

Мой вариант использования:

Мне нужна программа, которая может обрабатывать ~ 1500 отдельных «процессов», которые не взаимодействуют друг с другом. Я планирую читать данные из Кафки. Каждое сообщение от Кафки будет помещено в один процесс из 1500, а затем попросит этот процесс сделать вычисление, для решения которого потребуется некоторое время.

Я полагаю, что каждый из этих процессов может быть обработан актером Akka, однако я не совсем уверен, правда ли это. Кроме того, похоже, что использование Kafka с Akka вынуждает меня использовать поток Akka или Alpakka, из-за чего у меня возникают проблемы с определением, может ли то, что я пытаюсь сделать, вписаться в эти API.

Скажите, что я читаю в теме Кафки, в которой есть некоторая информация, например "{погода: дождливая, почтовый индекс: 123456, температура: 55}". Я хотел бы сгруппировать все входящие сообщения в «Актер» или процесс по уникальному почтовому индексу и выполнить некоторую обработку. В этом процессе мне нужно будет вызвать базу данных для получения некоторой другой информации, а затем отправить новую информацию из этого процесса в другую базу данных. Как только обработка будет завершена, я удалю сообщения из Actor / process и продолжу опрашивать Kafka на предмет новых сообщений.

Любая помощь будет принята с благодарностью.

Спасибо.

...