Akka передает потоки клиентского процесса Kafka параллельно - PullRequest
0 голосов
/ 06 мая 2020

Я работаю над потребительским приложением Kafka с использованием коннектора Akka Kafka. Я бы хотел, чтобы потребитель обрабатывал сообщения параллельно. какую группу потребителей выбрать Выбор потребителя ? как мне настроить параллелизм на стороне потребителя?

1 Ответ

1 голос
/ 06 мая 2020

Существуют разные уровни «параллелизма», когда вы говорите о Kafka, а затем о akka-stream.

Обработка Kafka может быть параллельна путем введения нескольких разделов в topi c и наличия одного потребителя Kafka получение из одного раздела всех сообщений в последовательном порядке, ie сообщений в порядке их идентификатора последовательности или смещения. Это позволяет нескольким потребителям использовать данные из нескольких разделов одновременно.

Потоки Akka имеют очень последовательный подход и по умолчанию обрабатывают их по одному. Но это, конечно, зависит от ваших взаимосвязанных потоков. Я настоятельно рекомендую прочитать this , чтобы понять, как потоки и параллелизм используются в akka-stream.

Ответ на ваш вопрос заключается в том, что параллелизм зависит от всех этих аспектов, а не от выбора правильного akka stream "Consumer" (я бы назвал его источником в терминах потока akka), который в основном определяет доступ к смещению, которое может быть зафиксировано после обработки.

...