当你从Kafka的多个分区轮询记录并在一个分区上提交一条记录时,其余的记录都会丢失的原因是因为Kafka的分区是消息的基本单位,每个分区都有自己的偏移量(offset),用于标识消息在分区中的位置。当你在一个分区上提交一条记录时,只有该分区的偏移量会被更新,而其他分区的偏移量不会改变。
这种情况下,如果你只轮询了一个分区并提交了一条记录,那么其他分区的偏移量不会更新,下次轮询时仍然从之前的位置开始读取消息,导致之前轮询到的记录丢失。
为了解决这个问题,你可以采取以下几种方法:
总结起来,为了避免从Kafka的多个分区轮询记录并在一个分区上提交一条记录时其他记录丢失的问题,你可以使用Kafka的消费者组、事务或分区再均衡机制来保证数据的完整性和一致性。腾讯云的CKafka是一个可靠的选择,提供了丰富的功能和灵活的配置选项。
领取专属 10元无门槛券
手把手带您无忧上云