我们可以直接在Spring Kafka中使用Protobuf吗?

huangapple go评论70阅读模式
英文:

Can we directly use the protobuf in spring-kafka?

问题

我想创建一个使用Kafka的Spring Boot应用程序,其中生产者和消费者都只使用protobuf。

我尝试过使用Confluent反序列化器,但在尝试时遇到了许多解析错误。

英文:

I want to create the a spring boot application with Kafka where producer and consumer both will use the protobuf only.

I tried with confluent deserializer but while trying that I'm getting so many parsing errors.

答案1

得分: 0

是的,您应该能够使用 protobuf-java 创建一个可以与 ByteArraySerializer 一起发送的 byte[],或者从 ByteArrayDeserializer 返回的字节数组中获取 Message。Spring Boot 不是必需的。

否则,您需要编写自己的 Serializer 和 Deserializer 实现,以便使用 Protobuf Message 类或 POJO。

无论使用哪个框架,如果您的protobuf模式定义无效,都会遇到相同的“解析器问题”,因为Confluent只是简单地包装了同一个库。

英文:

Yes, you should be able to use protobuf-java to create a byte[] that can be sent with ByteArraySerializer or get Message from byte array returned from ByteArrayDeserializer. Spring Boot is not necessary.

Otherwise, you need to write your own Serializer and Deserializer implementations for using Protobuf Message class, or POJOs.

You'll have the same "parser issues", regardless of what framework is used, if your protobuf schema definition is invalid, as Confluent simply wraps that same library.

huangapple
  • 本文由 发表于 2023年4月4日 03:35:59
  • 转载请务必保留本文链接:https://go.coder-hub.com/75923174.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定