Java 发送卡夫卡消息的更好方法:JsonNode或Map<;字符串,UserModel>;?

Java 发送卡夫卡消息的更好方法:JsonNode或Map<;字符串,UserModel>;?,java,json,apache-kafka,kafka-consumer-api,Java,Json,Apache Kafka,Kafka Consumer Api,我是新来卡夫卡的,穿着弹簧靴 我们可以用Json/String/Streams/JsonNode/Map发送卡夫卡消息。所以现在在我的项目中,我想把地图发送给我的一个消费者 因此,作为第一步,我们将把map转换为JsonNode,然后发送JsonNode。在consumer,我们将把这个JsonNode反序列化为map,然后使用它 我试图发送地图,我可以通过卡夫卡发送。在consumer时,我得到的是Json字符串 因此,我的问题是,在我的需求中,哪一种是最好的实现方式?我的观点-两者都不是 使

我是新来卡夫卡的,穿着弹簧靴

我们可以用Json/String/Streams/JsonNode/Map发送卡夫卡消息。所以现在在我的项目中,我想把地图发送给我的一个消费者

因此,作为第一步,我们将把map转换为JsonNode,然后发送JsonNode。在consumer,我们将把这个JsonNode反序列化为map,然后使用它

我试图发送地图,我可以通过卡夫卡发送。在consumer时,我得到的是Json字符串


因此,我的问题是,在我的需求中,哪一种是最好的实现方式?

我的观点-两者都不是

使用Avro(或Protobuf)模型类,这些类清楚地定义了您的类型和



换句话说,卡夫卡存储字节。如果我使用Avro格式,但我有Map object,那么如何发送Map object呢?你读过Avro文档了吗?“Avro支持六种复杂类型:记录、枚举、数组、映射、联合和固定”。需要明确的是,Avro“映射”与JSON对象(无序的键值对)相同。Avro记录是带有保证字段的映射