Неверный тип данных сообщений kafka в landoop / fast-data-dev при отправке через Spring kafka

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

Мне что-то не хватает в 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?


person redfox    schedule 05.05.2019    source источник
comment
Вы используете kafka 2.0.1 со своим приложением для весенней загрузки? (Landoop, кажется, использует эту версию)   -  person Gremi64    schedule 05.05.2019
comment
Проверьте эту проблему: github.com/Landoop/kafka-topics-ui/issues/ 120 Похоже на твоё   -  person Gremi64    schedule 05.05.2019
comment
@ Gremi64 Я просмотрел эту проблему, и мне кажется, что это ключ (не Avro), который вызывает проблему! :)   -  person redfox    schedule 22.05.2019


Ответы (1)


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

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

ИМХО именно в этом причина вашей проблемы.

person Gremi64    schedule 05.05.2019