Существуют разные уровни «параллелизма», когда вы говорите о Kafka, а затем о akka-stream.
Обработка Kafka может быть параллельна путем введения нескольких разделов в topi c и наличия одного потребителя Kafka получение из одного раздела всех сообщений в последовательном порядке, ie сообщений в порядке их идентификатора последовательности или смещения. Это позволяет нескольким потребителям использовать данные из нескольких разделов одновременно.
Потоки Akka имеют очень последовательный подход и по умолчанию обрабатывают их по одному. Но это, конечно, зависит от ваших взаимосвязанных потоков. Я настоятельно рекомендую прочитать this , чтобы понять, как потоки и параллелизм используются в akka-stream.
Ответ на ваш вопрос заключается в том, что параллелизм зависит от всех этих аспектов, а не от выбора правильного akka stream "Consumer" (я бы назвал его источником в терминах потока akka), который в основном определяет доступ к смещению, которое может быть зафиксировано после обработки.