【问题标题】:How to implement custom serializer如何实现自定义序列化程序
【发布时间】:2021-06-24 01:30:19
【问题描述】:

我使用的是 Scala 2.12,用这个库实现了一些生产者和消费者:

"org.apache.kafka" % "kafka-clients" % "2.4.1"

对于键和值,我都使用classOf[StringDeserializer]

假设每条消息都是一个案例类的 json 字符串,如下所示:

case class Person(name: String, age: Int, id: UUID)

所以每条消息中的value 都会是这样的:

{"name":"Joe", "age": ...}

如何为此编写客户序列化程序?

【问题讨论】:

    标签: scala apache-kafka


    【解决方案1】:

    如何编写客户序列化程序

    你会实现接口...

    class MySerializer extends Serializer[Person] { 
        override def serialize(String topic, Person p): Array[Byte] { ... }
    }
    

    假设每条消息都是一个 json 字符串

    Kafka 已经有一个可以使用的 JSONSerializer

    或者你可以使用ConfluentSpring-Kafka提供的。

    否则,如果您在生成之前预序列化数据,StringSerializer 将可以正常工作

    【讨论】:

      猜你喜欢
      • 2021-05-14
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多