kafka源码解析
文章平均质量分 94
kafka源码解析
$码出未来
~~~
展开
-
图解kafka如何保证partition内部消息顺序(二)
原创不易,转载请注明出处kafka版本v0.10文章目录前言1.broker保证消息顺序1.1分区与副本设计1.2网络模型1.3存储模型2.消息消费者保证消息顺序前言我们在《图解kafka如何保证partition内部消息顺序(一)》一文中介绍了kafka保证partition内消息顺序的配置与消息消费者是如何保证消息顺序的。本文接着介绍下broker的一些运行原理是如何保证消息顺序的与消息消费者端又是如何保证消息顺序的。1.broker保证消息顺序1.1分区与副本设计这里首先介绍下to.原创 2021-02-28 23:38:04 · 1465 阅读 · 0 评论 -
图解kafka如何保证partition内部消息顺序(一)
原创不易,转载请注明出处注意:kafka版本v0.10文章目录1.kafka保证消息顺序配置2.kafka生产者保证消息顺序原理3.总结### 前言当面试官问我们kafka如何保证消息顺序的时候,熟悉kafka的同学可能都知道它是支持partition级别消息顺序性的,也就是保证在同一个partition内的消息是顺序的,接着面试官会让你说些实现消息顺序的配置参数,这个可能你会说出来,毕竟网上面经一堆,背背就ok了,但是一旦面试官问你它是怎样实现partition内消息顺序的时候,可能就不知道.原创 2021-02-28 17:01:20 · 2009 阅读 · 0 评论 -
深度解析kafka生产者发送消息(拉取元数据)
原创不易,转载请注明出处文章目录前言1.拉取元数据的时机2.业务线程等待元数据3.sender线程拉取元数据总结前言在之前的文章中我们介绍了,kafka 消息生产者端有2种线程,一种是业务线程,一种是sender线程,这个业务线程是支持多个的,也就是支持并发发送,然后这个sender 一个KafkaProducer实例就一个,业务线程不停的往一个内存缓冲区(消息累加器,因为这里要把多个消息打成batch)追加消息,然后sender线程干的事就多了,发送消息,接收响应,建立连接,获取元数据。在解析.原创 2021-01-15 16:28:00 · 1789 阅读 · 2 评论 -
图解kafka中hw,leo,isr
原创不易,转载请注明出处文章目录前言1.hw leo isr的介绍2.图解hw leo isr 变化总结前言本文主要是介绍下kafka broker 中的hw leo isr分别是啥,然后介绍hw与leo在写入消息的时候,副本同步的时候在partition leader 副本与partition follower副本是怎样变化的,follower 副本要满足什么条件加入才能加入isr列表,又是在什么样的情况下被踢出isr列表。1.hw leo isr的介绍leo :log end offse.原创 2021-01-11 14:47:30 · 1208 阅读 · 0 评论 -
深度解析kafka broker创建新日志段与更新LEO以及刷盘
原创不易,转载请注明出处文章目录前言1.当前日志段放不下消息集是怎样创建新的日志段的2.写入完leader副本后是怎样更新leo的3.是怎样刷盘的总结前言在《深度解析kafka broker处理发送消息请求并写入磁盘》一文中我们介绍了包括requestHandler对发送消息请求处理以及消息集是怎样被追加写入到.log 文件,稀疏索引是怎样被写入到.index文件的,由于主流程的原因我们有些比较重要的细节没有深入的解析,本文就创建新的日志段,更新leo,刷盘的一些细节问题展开源码级剖析。1.当.原创 2021-01-11 00:10:54 · 535 阅读 · 1 评论 -
深度解析kafka broker处理发送消息请求并写入磁盘
原创不易,转载请注明出处文章目录前言1.requstHandler拿到请求找到对应处理方法2.ReplicaManager是怎样appendMessages的总结前言在《深度解析kafka broker从连接建立到接收请求发送响应》或者更往前介绍kafka broker 网络组件的文章中,我们介绍了broker处理与消息生产者(客户端)建立连接,processor接收请求,写回响应,requestHandler处理请求信息等流程,我们已经知道了一个请求过来是怎样运转的了,本文接着消息生产者发送消.原创 2021-01-10 23:22:49 · 1340 阅读 · 0 评论 -
深度解析kafka broker消息存储组件初始化流程
原创不易,转载请注明出处文章目录前言1.LogManager2.Log3.LogSegment4.FileMessageSet5.OffsetIndex总结前言本文主要介绍下kafka 消息(日志)存储模块涉及到的核心组件是怎样初始化的,各个组件之前的联系与关系,各个组件对应到磁盘上是什么样的,比如说Log 对应到磁盘上就是某个分区(partition)的文件夹(topic-partition),这个文件夹下面那堆文件是怎样与LogSegment 对应起来的等等。1.LogManager先介.原创 2021-01-10 14:32:17 · 269 阅读 · 0 评论 -
深度解析kafka broker从连接建立到接收请求发送响应
原创不易,转载请注明出处kafka 网络模块相关文章1.《深度解析kafka broker网络模型运行原理》2.《深度解析kafka broker网络组件初始化流程》文章目录前言1.建立连接2.接收请求3.处理请求4.发送响应总结前言我们在前几篇kafka网络模块相关的文章中分别介绍了kafka broker 网络模型,运行流程,以及核心组件的初始化流程,本文我们将贴合实际场景出发,以消息生产者发送消息为例,看看acceptor是怎样处理新连接建立的,processor是怎样接收请求信息交.原创 2021-01-09 23:39:11 · 929 阅读 · 0 评论 -
深度解析kafka broker网络组件初始化流程
原创不易,转载请注明出处文章目录前言1.SocketServer初始化2.acceptor初始化3.processor初始化4.RequestChannel初始化5.RequestHandler初始化总结前言在《深度解析kafka broker网络模型运行原理》一文中我们介绍了kafka broker 网络模型,并且大体上介绍了各个核心组件的运行原理,在第二小节中对比了一下RocketMQ网络模型与kafka的网络模型,发现其实差不多样子。本文主要是从源码角度出发,看看kafka那几个网络组件是.原创 2021-01-08 15:07:33 · 484 阅读 · 7 评论 -
深度解析kafka broker网络模型运行原理
原创不易,转载请注明出处文章目录前言1.kafka网络模型运行原理2.对比一下RocketMQ的网络模型总结前言本文将介绍下kafka broker 端的网络模型,会从宏观角度介绍下kafka broker网络模型是啥样子的,都有哪些组件,组件之间的运作流程是啥样子的,里面涉及到的一些比较重要的参数,接着就是将RocketMQ网络模型拿出来与kafka 的比较一下。1.kafka网络模型运行原理kafka broker 在启动的时候,会根据你配置的listeners 初始化它的网络组件,用来.原创 2021-01-07 16:23:22 · 1314 阅读 · 0 评论 -
深度解析Kafka中CopyOnWriteMap实现原理
原创不易,转载请注明出处文章目录前言1. 加锁copy写2. 无锁并发读总结前言Kakfa消息生产者端 业务在发送消息的时候,会将消息追加写到RecordAccumulator这个内存缓冲区的队列中,在追加的时候首先会根据消息的topic与partition 去一个map中获取对应的Deque队列,如果对应的队列不存在,就会创建一个,并添加到map中,然后才会将消息追加到队列队尾的batch元素中,我们知道,Kafka发送消息是支持多线程并发的,也就是往内存缓冲区中追加也是多线程并发的,其实在往.原创 2021-01-05 18:46:03 · 1412 阅读 · 9 评论 -
深度解析kafka生产者发送消息(业务线程将消息追加到缓冲区)
原创不易,转载请注明出处文章目录前言1.回顾业务线程都经历哪些核心步骤2.源码解析前言在《深度解析kafka生产者发送消息(原理篇)》一文中,我们主要介绍了kafka消息生产者端业务线程与sender线程主要工作流程,业务线程是将消息追加到一个内存缓冲区中,而sender线程就是不断从内存缓存去中获取消息,然后进行消息的请求封装,消息发送,接收响应,创建连接,断开连接等等。本文主要是从分析一下业务线程将消息追加到内存缓冲区这块的源码1.回顾业务线程都经历哪些核心步骤当我们业务线程调用Kaf.原创 2021-01-05 17:46:47 · 652 阅读 · 0 评论 -
深度解析kafka生产者发送消息(原理篇)
原创不易,转载请注明出处文章目录前言1.回顾kafka生产者核心组件2.图解kafka发送消息原理总结前言1.回顾kafka生产者核心组件2.图解kafka发送消息原理总结原创 2021-01-05 10:41:58 · 1976 阅读 · 0 评论 -
深度解析kafka生产者启动流程
原创不易,转载请注明出处文章目录前言1.生产者demo介绍2.启动流程分析总结前言从本文开始,我们将开启kafka源码解析的征程,都知道1.生产者demo介绍2.启动流程分析总结原创 2020-12-31 00:22:29 · 987 阅读 · 3 评论