У меня есть приложение с источником событий, созданное поверх Kafka. В настоящее время у меня есть одна тема, в которой есть несколько типов сообщений. Все сериализованы / десериализованы с помощью JSON.
Реестр схемы из confluent выглядит как хороший подход к обслуживанию типов сообщений, а в режиме полной совместимости Avro он также предоставляет механизм управления версиями сообщений в моем приложении с источником событий.
С недавним патчем - запись в блоге в сливающуюся версию 4.1.1. Вы можете иметь несколько разных типов сообщений в одной теме с сериализатором / десериализатором Avro.
Однако я не видел ни одного рабочего примера этого. Ни одного.
Мой вопрос: действительно ли вышеупомянутый патч работает без использования Avro Union Types (помещая все разные типы сообщений в одну единую схему и используя union)?
И как этот подход будет работать с приложением Kafka Streaming, где вам нужно указать ключ и значение Serde?
Должен ли я просто забыть об Avro и вместо этого использовать protobuff?