【问题标题】:Java Kafka Object serilizer and deserializerJava Kafka 对象序列化器和反序列化器
【发布时间】:2018-07-11 01:05:21
【问题描述】:

我在做卡夫卡生产者和消费者。序列化和反序列化的三种方式。

1、自定义对象->byte[]->对象(example)

2、自定义对象->字符串->对象(我试过。工作)

3、自定义对象->JsonNode->对象(example)

哪个更好?谢谢

【问题讨论】:

    标签: java json serialization apache-kafka deserialization


    【解决方案1】:

    您可以尝试基准测试,但我想这三个都差不多。

    1. Object -> byte[]:在这种情况下,发生了三件事。
      1. 对象被转换成 Json 对象树。
      2. 树被转换为字符串。
      3. 字符串转换为字节。
    2. Object -> String:在这种情况下,同样的三件事正在发生。
      1. 我假设您正在使用对象映射器,它在内部构建 Json 对象树并将树转换为字符串。
      2. 我还假设您正在使用 StringSerializer,它可以让 kafka 将字符串转换为字节。
    3. Object -> JsonNode:同样的三件事正在发生。
      1. 生成 Json 对象树的对象映射器。
      2. JsonSerializer 将树转换为字符串,将字符串转换为字节。

    如果您对最大化性能感兴趣,您可能希望避免使用 json 作为序列化机制并探索protobuf。 一个 kafka protobuf 示例是 here。比较 protobuf 性能与 json 序列化的一些数字是here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2019-08-30
      • 2017-06-09
      • 1970-01-01
      相关资源
      最近更新 更多