Подтвердить что ты не робот

Какая разница между kafka.javaapi. * и org.apache.kafka. *?

Я новый ученик kafka. Но то, что заставляет меня смущаться, состоит в том, что, кажется, есть два пакета клиентов kafka.

Один kafka.javaapi. * как

import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;

другой org.apache.kafka. *. как

import org.apache.kafka.clients.producer.KafkaProducer<K,V>

который показан на странице http://kafka.apache.org/082/javadoc/index.html?org/apache/kafka/clients/producer

Я не знаю, в чем их отличия.

4b9b3361

Ответ 1

До Kafka 0.8.2 kafka.javaapi.producer.Producer был единственным официальным Java-клиентом (продюсером), который реализован с помощью Scala.

Из Kafka 0.8.2 появился новый API-интерфейс Java, org.apache.kafka.clients.producer.KafkaProducer, который полностью реализован с Java.

Документация Kafka 0.8.2 говорит

Мы находимся в процессе перезаписи клиентов JVM для Kafka. Начиная с 0.8.2 Kafka включает недавно переписанный Java-производитель. Следующий выпуск будет включать эквивалентного Java-клиента. Эти новые клиенты предназначены для замены существующих клиентов Scala, но для совместимости они будут существовать в течение некоторого времени. Эти клиенты доступны в отдельной банке с минимальными зависимостями, тогда как старые клиенты Scala остаются в комплекте с сервером.

Если вас интересует kafka.javaapi.producer.Producer, см. 2.1 API-интерфейс производителя в документации Kafka 0.8.1.