Кафка: Есть ли клиентский интерфейс Kalfa для scala? - PullRequest
1 голос
/ 17 мая 2019

Я только начинаю с Kafka, это звучит очень хорошо для Microservices, но я работаю в основном в Scala.

Я добавил kafka в свой проект sbt следующим образом:

libraryDependencies += "org.apache.kafka" %% "kafka" % "2.0.0"

ЗатемЯ делаю это:

import org.apache.kafka.clients.producer.{Callback,KafkaProducer, Producer}

...

val producer = new KafkaProducer[String, String](props)
val record = new ProducerRecord[String, String]("my-topic", "key", "value")
val fut = producer.send(record, callBack)
...

Моя проблема здесь в том, что я не получаю Scala Future, когда я звоню producer.send, это Java Future.Я не знаю, как работает Java Futures, и я бы предпочел пропустить эту кривую обучения.На этот раз это будущее, но я имею в виду Java в целом.

Так что мне интересно, есть ли полный Scala API для работы с Кафкой.Обычно так и должно быть, поскольку Кафка написан на Scala.

1 Ответ

1 голос
/ 20 мая 2019

С Кафки заметны изменения в 2.0.0

  • Потребители Scala, которые устарели с 0.11.0.0, были удалены. Потребитель Java был рекомендуемым вариантом с 0.10.0.0. Обратите внимание, что потребители Scala версии 1.1.0 (и старше) будут продолжать работать, даже если брокеры обновлены до 2.0.0.

  • Производители Scala, которые не поддерживаются с 0.10.0.0, были удалены. Производитель Java был рекомендуемым вариантом с 0.9.0.0. Обратите внимание, что поведение разделителя по умолчанию в Java-производителе отличается от стандартного разделителя в Scala-производителях. При переносе пользователей следует подумать о настройке пользовательского разделителя, который сохраняет прежнее поведение. Обратите внимание, что производители Scala версии 1.1.0 (и старше) будут продолжать работать, даже если брокеры обновлены до 2.0.0.

...