我正试图使用apache-kafka二进制文件中的kafka-控制台-生产者来生成消息,并在春季启动时从消费者设置中消费。使用者使用avro架构。
当以json格式生成消息时,我的使用者抛出异常--“无法序列化”。
我找到了一个解决方案来使用“7.1”,其中有kafka-avro-console-producer。它支持avro,但它是企业版。
是否有一种方法可以使用apache-kafka与kafka控制台生产者一起使用avro模式来生成/消费消息?
发布于 2022-04-27 13:57:36
默认情况下,kafka-console-producer只接受UTF8字符串。在内部,默认使用StringSerializer
The kafka-avro-console-consumer the other, and it's source-available, not Enterprise。您至少需要下载汇合的kafka-avro-serializer JAR文件和依赖项才能生成它的数据,但这也需要您使用模式注册表。
如果您只想生成不带注册表的Avro二进制数据,则可以使用Avro BinaryEncoder类,但是,这将要求您在任何使用者中也需要自己的反序列化器,而不是使用Confluent提供的反序列化器(同样是免费的,而不是企业级的)
https://stackoverflow.com/questions/72020915
复制相似问题