javakafka对象序列化程序和反序列化程序

yacmzcpb  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(553)

我在做Kafka的制作人和消费者。序列化和反序列化有三种方法。
1,自定义对象->字节[]->对象(示例)
2,自定义对象->字符串->对象(我试过了。(正在工作)
3,自定义对象->jsonnode->对象(示例)
哪一个更好?谢谢

y0u0uwnf

y0u0uwnf1#

你可以尝试基准测试,但我可以想象这三个都差不多。
object->byte[]:在这种情况下,发生了三件事。
对象转换为json对象树。
树已转换为字符串。
字符串转换为字节。
object->string:在这个例子中,同样的三件事情正在发生。
我假设您使用的是对象Map器,它在内部构建一个json对象树,并将树转换为字符串。
我还假设您正在使用stringserializer,它允许kafka将字符串转换为字节。
object->jsonnode:同样发生了三件事。
生成json对象树的对象Map器。
jsonserializer将树转换为字符串,将字符串转换为字节。
如果您对最大化性能感兴趣,您可能希望避免使用json作为序列化机制,并探索protobuf。这里有一个Kafka原型的例子。这里有一些比较protobuf性能和json序列化的数字。

相关问题