Прежде всего, Avro будет иметь больше смысла, чем Protobuf, с точки зрения Кафки . Однако , новая версия реестра Confluent Schema действительно поддерживает Protobuf, поэтому ... двигаясь дальше ...
, куда именно я должен вставить protobuf. * 1008 *
Ваши сообщения уже JSON, так что вы действительно ничего не "вставите" ...
Если вы хотите использовать Protobuf, вы больше не будете использовать JSON. Вы должны были бы переписать как ваш код производителя, так и получателя, чтобы не использовать String(De)serializer
или JSON(De)Serializer
, а вместо этого найти какой-нибудь ProtobufSerializer
, который вы бы использовали вместо этого.
Схемы должны существовать по обеим сторонам Kafka topi c в коде каждого приложения (или вы должны получить их из удаленного реестра). И они используются для проверки и (де) сериализации сообщений, которые отправляются / принимаются.
Также сообщение с инкапсулированным протобуфом означает, что оно всегда безопасно для схемы?
Не обязательно, но я не знаю достаточно о Protobuf, чтобы сказать по-настоящему.