![](https://img-blog.csdnimg.cn/87bea20831284520a8535f9d9b8d9715.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kafka
文章平均质量分 71
一起学习Kafka吧
harry0913
这个作者很懒,什么都没留下…
展开
-
Kafka 2.x AdminUtils -- Topic Partition Replica Assignment
概念 创建Topic时,需要指定partitions和replication-factor,而最重要的是尽量均匀的把每个replica分发到Brokers集群中。 kafka-topics.sh提供了两种方式: 指定replica-assignment, 即完全人为分配,指定某个replica分配到某个broker上面 由Kafka默认策略分配 默认分配原则如下: 1. Spread the replicas evenly among brokers. ...原创 2021-10-05 10:49:16 · 323 阅读 · 0 评论 -
Kafka 2.x KafkaController 分析 -- 持续更新中
创建 在每个Broker启动时,都会创建一个KafkaController实例,但是只有一个KafkaController会成为Leader,对外提供集群管理服务,选主是基于Zookeeper实现的,即启动时,每个KafkaController会向Zookeeper同一个路径下写入瞬时节点/controller,只有一个会成功,即成为了Leader,其余的成为了Follower。但Leader离线时,其余的Follower重新选主。 ControllerContext初始化 ...原创 2021-10-06 09:11:32 · 91 阅读 · 0 评论 -
Kafka 2.x RecordAccumulator分析 --- 持续更新中
概念 KafkaProducer只用一个Send()方法,就可以实现同步/异步处理数据的,Send()返回一个Future对象,基于Future来实现同步/异步。 同步:即返回Future对象后,立即调用get,阻塞等待结果 异步:提供Callback函数,Send()执行完,无需等待,服务器完成数据处理后,回调Callback函数。 而RecordAccumulator作为KafkaProducer的核心类之一,主要是为了提高Kafk...原创 2021-10-01 09:52:13 · 120 阅读 · 0 评论