
kafka
刘狗
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kafka 高级深入知识点总结
producer生产者原理 producer是线程安全的。 生产者客户端由两条线程协调运行,分别是主线程和sender线程(发送线程)。 主线程通过KafkaProducer创建消息,然后通过拦截器,序列化器,分区器(默认DefaultPartitioner,默认进行hash求分区,如果key为null,就通过轮询方式发往可用的分区中)的作用之后将消息缓存到消息累加器中。消息累加器用来缓存消息,后续sender线程从消息累加器中获取缓存的消息进行IO操作,写入到页缓存中。消息累加...原创 2020-08-01 11:22:02 · 4684 阅读 · 0 评论 -
kafka压力测试步骤
kafka本身提供了用于生产者性能测试的命令. kafka-producer-perf-test.sh1.创建topic2.简单示例:我们向一个只有1个分区,1个副本的主题 yache中发送100万条消息,并且每条消息大小为1024B,生产者对应的ack机制是1.kafka-producer-perf-test.sh --topic yache --num-records 1000000 --record-size 1024 --throughput -1 --producer-pro..原创 2020-07-31 10:18:27 · 1001 阅读 · 0 评论 -
kafka Controller模块 详细解读
目录集群元数据ControllerContext ControllerStats shuttingDownBrokerIds epoch & epochZkVersion liveBrokers liveBrokerEpochs allTopics partitionAssignments partitionLeadershipInfoController...原创 2020-07-14 16:18:39 · 1416 阅读 · 0 评论 -
kafka 序列化器,分区器,拦截器,消息累加器
目录拦截器生产者拦截器自定义生产者拦截器序列化器反序列化器分区器消息累加器前提了解:整个kafka生产者客户端由两条线程协调运行。这两条线程分别为主线程和sender线程(发送线程)主线程的作用就是:由KafkaProducer创建消息,然后通过可能的拦截器,序列化器,分区器的作用之后缓存到消息累加器send线程的作用就是:负责将消息累加器中的消息发送到kafka中。拦截器 拦截器是在kafka0.10.0.0版本中就已经引...原创 2020-07-13 11:26:03 · 1098 阅读 · 0 评论 -
图解 kafka 请求处理模块
kafka请求流程:1.client或者broker通过Selector发送创建连接请求。2.Processor线程接收请求,并将其转换成可处理的Request对象。3.Processor线程将Request对象放入Request队列。4.KafkaRequestHandler线程从Request队列中取出待处理请求,并进行处理。5.KafkaRequestHandler线程将Response放回到对应Processor线程的Response队列。6.Processor 线程发送 R原创 2020-07-07 17:41:55 · 219 阅读 · 0 评论 -
图解 kafka 日志模块 及相关源码注释
append: private def append(records: MemoryRecords, isFromClient: Boolean, assignOffsets: Boolean, leaderEpoch: Int): LogAppendInfo = { maybeHandleIOException(s"Error while appending records to $topicPartition in dir ${dir.getParent}") { ...原创 2020-06-23 10:40:38 · 471 阅读 · 0 评论 -
kafka LogSegment 日志段源码细读
每个log对象(一个分区目录对应一个log对象)都包含了很多个日志段对象LogSegment,在Log中是以ConcurrentNavigableMap来进行管理日志段对象的。 每个日志段对象中又包含了 消息日志文件(.log),位移索引文件(.index), 时间戳索引文件(.timeindex),已中止事务索引文件(.txnindex)等。 接下来主要通过源码,详细解读关于LogSegment中的3个主要的方法,append,recover...原创 2020-06-16 22:59:14 · 553 阅读 · 0 评论 -
看透kafka(-) kafka数据存储详解(存储速度,高水位,偏移量,LEO,ISR等)
kafka 始于linkedIn公司 (scala语言编写),现以捐献给apache基金会总所周知,kafka数据持久化与磁盘。为什么kafka基于磁盘比基于内存还要快。1.kafka的数据文件是二进制文件,相对文本文件要小,减少了很多数据传输,提高了速度2.kafka是对于磁盘进行顺序读写,避免了磁盘随机写的磁盘寻道的开销3.kakfa消息再写入磁盘前会先写...原创 2019-12-06 11:41:52 · 1248 阅读 · 0 评论