本文主要是介绍Kafka代码实现--from-beginning,读取历史未消费的数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Kafka实际环境有可能会出现Consumer全部宕机,虽然基于Kafka的高可用特性,消费者群组中的消费者可以实现再均衡,所有Consumer不处理数据的情况很少,但是还是有可能会出现,此时就要求Consumer重启的时候能够读取在宕机期间Producer发送的数据。基于消费者订阅模式默认是无法实现的,因为只能订阅最新发送的数据。
通过消费者命令行可以实现,只要在命令行中加上--from-beginning
即可(具体可见文章 Kafka安装与配置 ),但是通过Java客户端代码如何实现呢?这就要用到消息偏移量的重定位方法 seek()
或者直接使用 seekToBeginning()
方法,基于再均衡监听器,在给消费者分配分区的时候将消息偏移量跳转到起始位置 。
代码示例如下:
public class Consumer {private static final String server = "192.168.3.22:9092";public static
这篇关于Kafka代码实现--from-beginning,读取历史未消费的数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!