当前位置: 首页 > 知识库问答 >
问题:

Apache Kafka+Kryo序列化

贾沛
2023-03-14

我对Kafka和克里奥很陌生。我一直在使用默认的Kafka序列化器处理Kafka上的简单字符串消息,但我试图使用Kryo序列化,但没有成功。

谁能解释一下或者给我看一个用kryo序列化(生产者和消费者)通过Kafka发送java对象的例子吗?

共有1个答案

章烨烨
2023-03-14

我可能偏离了这个问题,但我想提供一些我们的经验。

我们从Kafka+Kyro开始,虽然这肯定是可以做到的,但我们发现用Kyro管理模式长期来说可能会很麻烦。所以我们更愿意使用Jackson serilaizer(org.codehaus.Jackson.map.objectMapper)。

要实现Kyro序列化器,只需继承Kafka的序列化器

   import org.apache.kafka.common.serialization.Serializer;
   public class KryoSerializer implements Serializer<YourObject> 

祝你好运.

 类似资料:
  • 我正在尝试使用kryo序列化和反序列化到二进制。我想我已经完成了序列化,但似乎无法反序列化。下面是我正在处理的代码,但最终我想存储一个字节[],然后再次读取它。文档只显示了如何使用文件。

  • 启用Kryo和FST 使用Kryo和FST非常简单,只需要在dubbo RPC的XML配置中添加一个属性即可: <dubbo:protocol name="dubbo" serialization="kryo"/> <dubbo:protocol name="dubbo" serialization="fst"/> 注册被序列化类 要让Kryo和FST完全发挥出高性能,最好将那些需要被序列化的

  • 我在程序中使用,需要序列化内核以便以后重用它们。 为此,我使用: 如何定义必须使用?

  • 我正在尝试将kryo序列化用于: 我一直收到以下错误,说某个类没有注册: 但是,我确实注册了它: 当我设置日志时。TRACE()我得到以下输出: 当跟踪记录器打印出它已注册时,为什么会说它未注册。我找不到关于这件事的任何有用的文件。以前有人经历过这种情况吗?如果有帮助,我正在运行Apache Spark v0.8.1

  • 我用这个打开了kryo连载: 我希望确保当在节点之间洗牌时,使用kryo对自定义类进行序列化。我可以通过以下方式向kryo注册该类: 但这会导致IllegalArugmentException被抛出(“class未注册”),用于我假设Spark在内部使用的一系列不同类,例如: 当然,我不必用Kryo手动注册这些单独的类?这些序列化程序都是在kryo中定义的,那么有没有一种方法可以自动注册所有的序列