#java #apache-kafka #avro
Вопрос:
Мы используем схему Avro без регистрации для сообщения Кафки, поэтому у нас есть собственный конвертер Avro, так как у нас нет доступного реестра схем
Проблема в том, что когда мы обновляем схему новыми элементами, старая схема не совместима ни с обратной, ни с прямой
Комментарии:
1. в чем заключается ваш вопрос?
Ответ №1:
Кафка-это деталь реализации
Если схема считывателя несовместима со схемой записи, то десериализация Avro завершится ошибкой. Вы ничего не можете сделать, чтобы исправить это, кроме как использовать другую схему.
Теперь вы знаете, почему важно иметь реестр, способный выполнять проверку совместимости перед вводом данных в Кафку
Комментарии:
1. Спасибо за быстрый ответ
2. Пожалуйста, найдите эту ссылку ниже docs.confluent.io/platform/current/schema-registry/avro.html . Здесь вы можете сделать схему полностью транзитивной и выполнить инкрементные изменения в схеме без нарушения старой схемы для Кафки. как мы можем сделать то же самое с нашим пользовательским конвертером Avro и реестром без схемы
3. Эта логика совместимости существует только как часть Реестра… Вы можете посмотреть исходный код и скопировать его
4. Спасибо , мой вопрос больше об этом, как часть этого
5. Вы просите меня связать вас с исходным кодом? Я лично не могу объяснить логику того, как это работает