kafka
文章平均质量分 86
Rapper金馆长
这个作者很懒,什么都没留下…
展开
-
Kafka的Repilica分配策略之一
近来对kafka的源码很有兴趣. 说起kafka真的是极大地方便了我的工作,每次用起ta都心怀感激.好用不说,还相当稳定. 爱屋及乌,我决心一探kafka的究竟. 对我来说最感兴趣的莫过于这几个个问题: 1.在创建topic的时候,kafka如何分配partition以及replica所在的位置. 2.要是一个broker down了,那它的replica该怎么重新分配. 3.如果原创 2017-11-17 16:15:43 · 908 阅读 · 0 评论 -
Kafka的leader选举过程
上一篇文章说到,当创建一个topic时,kafka是如何分配partition和replica的. 这篇文章本想讨论在topic创建完毕后,当broker信息发生变化,kafka是如何处理partition和replica的分配的.不过我读了源码之后,感觉首先要理清leader和follower之间的关系. 因此我决定先写一篇文章描述一下Kafka的leader选举过程,kafka源码的版本是原创 2017-11-19 15:22:53 · 2514 阅读 · 0 评论 -
Kafka的Replica分配策略之二 Replica变为0了怎么办
这一篇文章准备讨论当kafka集群的broker发生变化,诸如broker崩溃,退出时,kafka集群会如何分配该broker上的Replica和Partition. 在讨论这个问题之前,需要先搞清kafka集群中,leader与follower的分工.可以看我写的这篇文章 Kafka的leader选举过程 在之前介绍kafka的选举过程时,提到成功选举出的leader会向zookeepe原创 2017-11-21 13:10:28 · 3529 阅读 · 0 评论 -
kafka线程模型之三 QuotaManager
kafka从0.9版本之后引入了配额机制,对于每个producer或者consumer,可以对他们produce或者consum的速度上限作出限制.这边找到一篇不错的文档,可以解释这一配额的设计理念与实现方式. kafka配额控制 这其实对应着kafka中的两个线程,限制producer的线程,以及限制consumer的线程. "ThrottledRequestReaper-Fetch"原创 2017-12-11 15:20:36 · 1616 阅读 · 1 评论 -
kafka性能监控之KafkaMetrics Sensor
说起kafka的metrics,很多人应该是即陌生又熟悉, 熟悉是因为阅读源码的过程中,不可避免地会看到metrics.add()的代码.而陌生是因为metrics仅仅只是辅助功能,并不是kafka主要逻辑的一部分,并不会引起读者太多的关注. 同时网上关于metrics这一块的分析也较少,这篇文章就带着大家一探metrics的究竟. 在这里首先说明一个让我产生了误解的地方,不少文章说kafk原创 2017-12-08 14:37:29 · 6476 阅读 · 2 评论 -
kafka的线程模型之二
上一篇文章介绍了四种kafka的线程. acceptor线程,负责接收新的tcp连接,并交给network线程. network线程,负责与客户端或者其他broker的网络通行. 硬盘I/O线程.负责将producer或者consumer的数据,写入读出磁盘. scheduler线程,定时负责flush磁盘,合并数据,更新index文件. 这篇文章将介介绍, Expiration原创 2017-12-05 20:01:02 · 606 阅读 · 0 评论 -
kafka的线程模型之一
这篇文章我想从线程的角度,来阐述kafka的结构. 网上有不少关于kafka架构的博客,但浏览下来大多属于层次比较高,细节比较少的介绍.因此我想要另辟蹊径,讲一讲一台向外提供服务的broker,有哪写线程,每个线程从源码的角度来说在何时哪个类中初始化,分别负责什么,线程之间又是通过什么通信的? 方法很简单,jstack + pid,后可以得到所有线程的stack以及当前状态.由于线程名原创 2017-11-27 12:16:07 · 2252 阅读 · 0 评论