Как protobuf помогает или облегчает проверку схемы потока сообщений? - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть Kafka topi c, который содержит различные виды сообщений, которые представляют собой различные типы структур. Сообщения типа json. Необходимо оценить схему каждого сообщения / записи.
Я хотел бы знать, как мы можем использовать здесь protobuf для упрощения работы. куда именно я должен вставить protobuf. * ​​1002 * Также сообщение об инкапсулированном protobuf означает, что оно всегда безопасно для схемы?

1 Ответ

0 голосов
/ 15 апреля 2020

Прежде всего, Avro будет иметь больше смысла, чем Protobuf, с точки зрения Кафки . Однако , новая версия реестра Confluent Schema действительно поддерживает Protobuf, поэтому ... двигаясь дальше ...

, куда именно я должен вставить protobuf. * ​​1008 *

Ваши сообщения уже JSON, так что вы действительно ничего не "вставите" ...

Если вы хотите использовать Protobuf, вы больше не будете использовать JSON. Вы должны были бы переписать как ваш код производителя, так и получателя, чтобы не использовать String(De)serializer или JSON(De)Serializer, а вместо этого найти какой-нибудь ProtobufSerializer, который вы бы использовали вместо этого.

Схемы должны существовать по обеим сторонам Kafka topi c в коде каждого приложения (или вы должны получить их из удаленного реестра). И они используются для проверки и (де) сериализации сообщений, которые отправляются / принимаются.

Также сообщение с инкапсулированным протобуфом означает, что оно всегда безопасно для схемы?

Не обязательно, но я не знаю достаточно о Protobuf, чтобы сказать по-настоящему.

...