当前位置: 首页 > news >正文

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 开启轻量级锁

相关文章:

  • svg中 path标签的d属性
  • 什么样的数字IC后端工程师能拿到高薪Offer?
  • 计算机组成原理_DRAM和SRAM
  • 两个有序序列的中位数
  • 浅析Android UI——View 的绘制
  • 一文看懂25个神经网络模型,神经网络神经元模型
  • 神经网络模型训练过程,神经网络模型应用实例
  • NR PDCCH(二) SearchSpace
  • Vue2(十二):Vuex环境搭建、Vuex工作原理、几个配置项、多组件共享数据、Vuex模块化
  • CREO图文教程:三维设计案例之齿轮参数化设计(渐开线+拉伸+轴阵列)图文教程之详细攻略
  • 【JavaEE进阶系列 | 从小白到工程师】Collections工具类的常用方法
  • Python 标准库之 fileinput 和 文件迭代器
  • C++征途 --- map/multimap容器
  • php 手机营业厅业务管理系统
  • VulnHub
  • 【css3】浏览器内核及其兼容性
  • echarts花样作死的坑
  • eclipse的离线汉化
  • Effective Java 笔记(一)
  • ES6核心特性
  • gops —— Go 程序诊断分析工具
  • Netty源码解析1-Buffer
  • nodejs调试方法
  • PHP CLI应用的调试原理
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue自定义指令实现v-tap插件
  • Vue组件定义
  • Wamp集成环境 添加PHP的新版本
  • 记录一下第一次使用npm
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 深度解析利用ES6进行Promise封装总结
  • 数组大概知多少
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一道闭包题引发的思考
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在Mac OS X上安装 Ruby运行环境
  • 如何用纯 CSS 创作一个货车 loader
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #NOIP 2014# day.2 T2 寻找道路
  • (8)STL算法之替换
  • (bean配置类的注解开发)学习Spring的第十三天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (pojstep1.3.1)1017(构造法模拟)
  • (TOJ2804)Even? Odd?
  • (二)fiber的基本认识
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (剑指Offer)面试题34:丑数
  • (六)c52学习之旅-独立按键
  • (算法)Game
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转载)Google Chrome调试JS
  • .gitignore
  • .net framework4与其client profile版本的区别