8.3.3. 使用 Apicurio Registry 配置 Protobuf SerDe
Apicurio Registry 为 Google Protobuf 提供以下 Kafka 客户端序列化r 和 deserializer 类:
-
io.apicurio.registry.serde.protobuf.ProtobufKafkaSerializer -
io.apicurio.registry.serde.protobuf.ProtobufKafkaDeserializer
配置 Protobuf serializer
您可以按照如下所示配置 Protobuf serializer 类:
- Apicurio Registry URL
- 工件解析器策略
- ID 位置
- ID 编码
- 模式验证
有关这些配置选项的详情,请查看以下部分:
配置 Protobuf deserializer
您必须配置 Protobuf deserializer 类,以匹配 serializer 中的以下配置设置:
- Apicurio Registry URL
- ID 编码
配置属性名称和值与 serializer 相同。
配置 deserializer 时不需要以下选项:
- 工件解析器策略
- ID 位置
deserializer 类可以决定消息中这些选项的值。不需要该策略,因为 serializer 负责将 ID 作为消息的一部分发送。
ID 位置通过检查消息有效负载开头的 magic 字节来确定。如果找到了字节,则 ID 会使用配置的处理程序从消息有效负载中读取。如果没有找到 magic byte,则会从邮件标头中读取该 ID。
Protobuf deserializer 不会对您的确切的 Protobuf 消息实施进行反序列化,而是指向 DynamicMessage 实例。否则,没有适当的 API。