Kafka Consumer源码讲解
1 KafkaConsumer
1.1 源码
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
1.2 流程图
1 初始化参数配置 client.id、group.id、消费者拦截器、key/value序列化、事务隔离级别
------------------------------------------------------------------------------------------------------------------------------
2 初始化网络客户端 NetworkClient
----------------------------------------------------------------------------------------------------------------------
3 初始化消费者网络客户端 ConsumerNetworkClient
------------------------------------------------------------------------------------------------------------------------------
4 初始化offset提交策略,默认自动提交
--------------------------------------------------------------------------------------------------------------------------------
5 初始化消费者协调器 ConsumerCoordinator
---------------------------------------------------------------------------------------------------------------------------------
6 初始化拉取器 Fetcher
---------------------------------------------------------------------------------------------------------------------------------
2 KafkaConsumer subscribe
2.1 源码
consumer.subscribe(Arrays.asList(topic));
2.1 流程
1 开启轻量级锁