我们使用kafka作为消息队列,我们的业务要求消息时间戳必须与偏移量的顺序相同,即:如果有消息m1和消息m2,以及(m1.timestamp)
yhived7q1#
它取决于使用的时间戳类型,有两种类型: CreateTime -时间戳是在创建生产者记录时分配的,所以在发送之前。可以重试,因此不能保证保留顺序。 LogAppendTime -将记录附加到代理上的日志时,会分配时间戳。在这种情况下,将保留每个分区的顺序。多个消息可能会分配相同的时间戳。默认情况下, CreateTime 已使用。要更改此设置,请设置 log.message.timestamp.type 经纪人或 message.timestamp.type 针对特定主题。
CreateTime
LogAppendTime
log.message.timestamp.type
message.timestamp.type
1条答案
按热度按时间yhived7q1#
它取决于使用的时间戳类型,有两种类型:
CreateTime
-时间戳是在创建生产者记录时分配的,所以在发送之前。可以重试,因此不能保证保留顺序。LogAppendTime
-将记录附加到代理上的日志时,会分配时间戳。在这种情况下,将保留每个分区的顺序。多个消息可能会分配相同的时间戳。默认情况下,
CreateTime
已使用。要更改此设置,请设置log.message.timestamp.type
经纪人或message.timestamp.type
针对特定主题。