API Kafka Consumer и Kafka Streams имеют свои преимущества.Оба могут быть использованы для чтения данных из тем Кафки.Это очень сильно зависит от варианта использования, который вы пытаетесь реализовать.
Kafka Consumer - это потребительский клиент низкого уровня, где вы можете написать свое потребительское приложение для чтения тем kafka и реализовать его функциональность.Хотя Kafka Streams более выразителен.Он поддерживает DSL в стиле программирования с операциями, в которых вы можете читать данные из тем kafka, выполнять операции и записывать в другие темы kafka.
Что ж, API-интерфейс Kafka Stream построен поверх клиента Kafka для потребителя и производителя.Есть несколько примечательных особенностей Streams API, которые вы должны учитывать:
- Обеспечение отказоустойчивых преобразований без сохранения состояния и состояния, например сопоставление, объединение, управление окнами и агрегирование.В то время как в клиентском клиенте kafka реализация этих операций утомительна.
- Streams API предоставляет DSL в стиле функционального программирования со множеством операций, которые легко использовать.Также для сложной обработки имеется низкоуровневый процессор API, который можно использовать с DSL.
- Streams API также поддерживает интерактивные запросы для предоставления результатов в виде микросервиса.В то время как в потребителе Kafka вам нужно будет написать реализацию для этого.
- Streams API может читать темы Kafka, выполнять обработку и записывать в другую тему kafka.Хотя потребитель будет читать данные, а затем вам придется написать другой клиент Producer для публикации данных в темах.
Что касается версии Java, рекомендуется использовать Java 1.8, поскольку в старых версиях были некоторые уязвимости безопасности.,Но вы все равно можете работать с версией Java1.7.