我正在发布我的生产者“ {“ Test”:“ Utility Message”}“”的消息。该生产者配置为使用“快照”压缩。
如果我发布到topic1并使用我们的消费者,我就能得到回信。
MessageConsumer.consumeAll log="consumerRecord--ConsumerRecord(topic = topic1, partition = 2, offset = 440, CreateTime = 1596519836114, serialized key size = -1, serialized value size = 31, headers = RecordHeaders(headers = [], isReadOnly = false), key = null, value = {"Test":"Utility Message"})"
但是,如果我使用相同的生产者将相同的消息发布到topic2并使用相同的使用者,则我看到的是垃圾值,表示压缩后的消息。
MessageConsumer.consumeAll log="consumerRecord--ConsumerRecord(topic = topic2, partition = 7, offset = 399383, CreateTime = 1596521718378, serialized key size = -1, serialized value size = 560, headers = RecordHeaders(headers = [], isReadOnly = false), key = null, value = ??@[G?5???f??Z .??zX?Cp0T?w\x00\x00\x00 ??z'?9???C?7[???x?#???K?
?nv\x00\x00?t^?0)v??7+??
由于某种原因,此topic2无法处理压缩消息,生产者和消费者相同。发送的消息是相同的。
我已经验证了这两个主题在主题级别上均未设置任何compression.type覆盖。
Topic: topic2 PartitionCount: 20 ReplicationFactor: 3 Configs: segment.bytes=1073741824,retention.ms=2592000000,retention.bytes=268435456000
Topic: topic1 PartitionCount: 20 ReplicationFactor: 3 Configs: segment.bytes=16106127,retention.ms=2592000000,retention.bytes=161061274
请分享您对这里可能出什么问题的想法?