Неправильный тип данных сообщений kafka в landoop / fast-data-dev при отправке через spring kafka - PullRequest
0 голосов
/ 05 мая 2019

У меня есть приложение Spring Boot, использующее Spring-Kafka, и я использую fast-data-dev от Landoop в качестве моего кластера kafka. Я создаю сообщения на какую-то тему, используя шаблон kafka, реестр avro и схемы слияния. Кажется, что все работает нормально, но когда я вхожу в интерфейс fast-data-dev, я вижу свою схему как зарегистрированную, и все же мои сообщения отображаются как Data type: binary вместо 'avro', и поэтому их значения не читаются в пользовательском интерфейсе. Я попытался отправить некоторые сообщения, используя kafka-avro-console -roduction, в другую тему, и для этих сообщений такой проблемы нет - они видны как avro и читаются в пользовательском интерфейсе. Однако, когда я отправляю сообщение с помощью kafka-avro-console -roduction на ту же тему, в которую мое приложение отправляло сообщения, оно отображается так же, как и сообщения, отправляемые моим приложением (в двоичном виде). ​​

Я что-то упускаю при добавлении заголовков типов данных в Spring-Kafka? Или, может быть, есть совершенно другая причина?

Вот часть моего application.yml:

spring.kafka:
  bootstrap-servers: localhost:9092
  producer:
    key-serializer: org.apache.kafka.common.serialization.StringSerializer
    value-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer
    properties:
      schema.registry.url: http://localhost:8081

Кроме того, когда я использую локально установленные конфлюэнтные платформы, сообщения читаются, поэтому, возможно, проблема в образе fast-data-dev?

1 Ответ

0 голосов
/ 05 мая 2019

из кода Landoop Kafka-Topic-ui строка 21

Есть функция, принимающая «формат» в параметре. Предполагая, что getDataFromBeginning - это функция, извлекающая все сообщения из темы, если «формат» (двоичный, avro, ...) изменится ... он не будет работать.

ИМХО это то, что вызывает твою проблему.

...