Мы создаем приложение для обработки потоков с высокой пропускной способностью и малой задержкой. Мы используем Apache Kafka как платформу для обмена сообщениями и как базу данных.
Кажется, что у фреймворков Kafka Streams и Alpakka Kafka много общего, но Kafka Streams кажется более «родным» для Kafka, в то время как Alpakka позволяет нам использовать мощь фреймворка Akka.
В чем основные различия между двумя фреймворками?





Ключевое отличие состоит в том, что потокам Kafka требуются темы Kafka на стороне ввода и на стороне вывода. С помощью Alpakka вы можете создать конвейер обработки для всех видов входных и выходных данных, а не только для тем Kafka. Кроме того, потоки akka DSL более мощны (и сложны), чем DSL потоков Kafka.
Используя Alpakka, можно присоединить различные типы Sink и Flow (конвейеров) с помощью встроенных API в Akka Stream. Примером может служить одновременное использование Alpakka Kafka и Alpakka Cassandra для включения автоматической публикации сообщений и сохранения в базах данных. Набор инструментов для тестирования в Akka также может обеспечить единообразие тестов в вашей системе.
Отвечает ли это на ваш вопрос? Akka Stream Kafka vs Kafka Streams