前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka - 3.x 图解Broker总体工作流程

Kafka - 3.x 图解Broker总体工作流程

作者头像
小小工匠
发布2023-10-29 08:13:26
3020
发布2023-10-29 08:13:26
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构
在这里插入图片描述
在这里插入图片描述

Zk中存储的kafka的信息

在这里插入图片描述
在这里插入图片描述

当前直接存储在根目录下

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Kafka Broker总体工作流程

1. broker启动后向zk中注册

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. Controller谁先启动注册,谁说了算

在这里插入图片描述
在这里插入图片描述

3. 由选举出来的Controller监听brokers节点的变化

在这里插入图片描述
在这里插入图片描述

4. Controller决定leader选举

在这里插入图片描述
在这里插入图片描述

5. Controller将节点信息上传到Zk中

在这里插入图片描述
在这里插入图片描述

6. 其他Controller从zk中同步相关信息

在这里插入图片描述
在这里插入图片描述

消息的发送和存储

在这里插入图片描述
在这里插入图片描述

7. 假设Broker1中的Leader挂了

在这里插入图片描述
在这里插入图片描述

8 Controller监听到节点变化

在这里插入图片描述
在这里插入图片描述

9 获取 ISR

在这里插入图片描述
在这里插入图片描述

10 选举新的Leader

在这里插入图片描述
在这里插入图片描述

11 . 更新Leader 和 ISR

在这里插入图片描述
在这里插入图片描述

实例模拟

Broker重要参数

参数名称

描述

replica.lag.time.max.ms

ISR中的Follower超过该事件阈值(默认30s)未向Leader发送同步数据,则该Follower将被踢出ISR。

auto.leader.rebalance.enable

默认是true。自动Leader Partition 平衡。

leader.imbalance.per.broker.percentage

默认是10%。每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值,控制器会触发leader的平衡。

leader.imbalance.check.interval.seconds

默认值300秒。检查leader负载是否平衡的间隔时间。

log.segment.bytes

Kafka中log日志是分成一块块存储的,此配置是指log日志划分成块的大小,默认值1G。

log.index.interval.bytes

默认4kb,kafka里面每当写入了4kb大小的日志(.log),然后就往index文件里面记录一个索引。

log.retention.hours

Kafka中数据保存的时间,默认7天。

log.retention.minutes

Kafka中数据保存的时间,分钟级别,默认关闭。

log.retention.ms

Kafka中数据保存的时间,毫秒级别,默认关闭。(优先级最高)

log.retention.check.interval.ms

检查数据是否保存超时的间隔,默认是5分钟。

log.retention.bytes

默认等于-1,表示无穷大。超过设置的所有日志总大小,删除最早的segment。

log.cleanup.policy

默认是delete,表示所有数据启用删除策略;如果设置值为compact,表示所有数据启用压缩策略。

num.io.threads

默认是8。负责写磁盘的线程数。整个参数值要占总核数的50%。

num.replica.fetchers

副本拉取线程数,这个参数占总核数的50%的1/3。

num.network.threads

默认是3。数据传输线程数,这个参数占总核数的50%的2/3。

log.flush.interval.messages

强制页缓存刷写到磁盘的条数,默认是Max(long) (9223372036854775807)。一般交给系统管理。

log.flush.interval.ms

每隔多久,刷数据到磁盘,默认是null。一般不建议修改,交给系统自己管理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Zk中存储的kafka的信息
  • Kafka Broker总体工作流程
    • 1. broker启动后向zk中注册
      • 2. Controller谁先启动注册,谁说了算
        • 3. 由选举出来的Controller监听brokers节点的变化
          • 4. Controller决定leader选举
            • 5. Controller将节点信息上传到Zk中
              • 6. 其他Controller从zk中同步相关信息
                • 消息的发送和存储
                  • 7. 假设Broker1中的Leader挂了
                    • 8 Controller监听到节点变化
                      • 9 获取 ISR
                        • 10 选举新的Leader
                          • 11 . 更新Leader 和 ISR
                          • 实例模拟
                          相关产品与服务
                          云硬盘
                          云硬盘(Cloud Block Storage,CBS)为您提供用于 CVM 的持久性数据块级存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999%的数据可靠性。同时提供多种类型及规格,满足稳定低延迟的存储性能要求。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档