摘要: max.poll.interval.ms参数用于指定consumer两次poll的最大时间间隔(默认5分钟),如果超过了该间隔consumer client会主动向coordinator发起LeaveGroup请求,触发rebalance;然后consumer重新发送JoinGroup请求 示例如下 阅读全文
posted @ 2020-06-28 21:44 光头用沙宣 阅读(22335) 评论(0) 推荐(1) 编辑
摘要: 前面说过了consumer心跳机制:consumer定期向coordinator发送心跳请求,以表明自己还在线;如果session.timeout.ms内未发送请求,coordinator认为其不可用,然后触发rebalance session.timeout.ms:coordinator感知con 阅读全文
posted @ 2020-06-28 17:30 光头用沙宣 阅读(3519) 评论(0) 推荐(0) 编辑
摘要: auto.offset.reset用来指定consumer消费策略,有如下取值: 1、latest(分区有提交的offset,从提交的offset后一个offset开始消费;否则等待新生产的数据)【默认配置】 示例:topic3有两个分区、3个副本;其中topic3-0有五条数据,offset为0~ 阅读全文
posted @ 2020-06-28 16:58 光头用沙宣 阅读(3162) 评论(0) 推荐(0) 编辑
摘要: KafkaConsumer是非线程安全的,多线程共享一个KafkaConsumer实例,kafka会有如下异常:java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded access 阅读全文
posted @ 2020-06-28 15:30 光头用沙宣 阅读(1278) 评论(0) 推荐(0) 编辑
摘要: 创建消费者 public static Consumer<String, String> createConsume2(String groupName) { Properties properties = new Properties(); properties.put(CommonClientC 阅读全文
posted @ 2020-06-28 15:13 光头用沙宣 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 1、消费者组 kafka提供的一种可扩展可容错消费机制,某个topic的分区数据只能被组内的一个消费者消费,注:当指定了自动提交(enable.auto.commit=true)时,必须显式的指定消费者组ID(group.id) 2、消费位置和offset管理 消费者需要记录消费了多少数据,即消费位 阅读全文
posted @ 2020-06-28 14:47 光头用沙宣 阅读(462) 评论(0) 推荐(0) 编辑