kafka基本架构以及参数调优
admin
2024-03-23 10:38:31
0

Kafka是LinkedIn公司使用Scala语言开发,后来捐献给apache的项目。官网地址是http://kafka.apache.org。是常用的以高吞吐、可持久化、可水平扩展、支持流处理的分布式消息系统。

简单架构图:

生产端:逻辑层生产者将消息发到指定的topic中,物理层,生产者先找到相应的集群和对应的leader partition建立连接发送消息。

消费端:逻辑层消费组接收此topic的所有消息,物理层消费组的消费者连接到固定的partition来消费消息。

在物理层上包装逻辑层也是一个比较常见的解耦方法:比如很多公司都是多地域多中心的多活容灾架构。在物理层北京亦庄数据中心、上海桂桥数据中心等物理数据中心上划分逻辑数据中心,数据中心的迁移可以做到应用服务不感知。底层的实现原理也很简单就是标签+路由层。

Kafka集群的一台服务端和其他应用一样,是由应用+数据组成,可以算作是一个分布式文件系统。大多数的分布式文件系统就是主从架构如Mysql、Kubernetes和Kafka,个别是对等式的架构如ElasticSearch。Kafka的主节点被称为Controller,负责和Zookeeper通信、集群成员管理(Broker上下线)和Topic管理(增删改查)。Zookeeper里存储的是集群的元数据信息。简而言之,Controller的功能可以类比Kubernetes等集群的Controller功能,差不多的。

数据存储上,每个partition物理上是一个文件夹,相当于将一个巨型文件分成多个大小相等的segment文件。每个文件的消息数不一定相等。每个partition文件由于是顺序读写,所以老的segment文件可以快速被删除。

一个segment文件由一个index文件和一个数据文件组成。文件名为上一个文件的最后一条消息的offset值。索引文件是稀疏索引。所谓稀疏索引说白了就是说不是每条消息都有索引,间隔几条才会有。数据文件也叫日志文件,里面都是一条条消息数据。

Kafka实际项目使用的思考:切换加密集群,安全上的需要,连接Kafka集群需要加密,使用的SASL简单认证和安全层。假设说我们使用的是用户名密码+SSL认证。

kafka参数调优:

在项目中实际使用,很多人都是网上copy对应的配置,并不知道他们之前的参数的相互影响。比如出现rebalance后产生的结果是具体以哪种方式引起的排查,我列举几种原因:

1.数据量大,消费不及时引起循环堆积

2.超时时间配置过小

3.批处理的时效性过慢

问题排查:当数据量大的时候,一次性获取500条数据,但是实际吞吐时长已经超过了心跳检测时间,那么就可能导致数据在偏移到一定数值时,被判定这个消费组挂掉,就直接离线,频繁触发rebalance这种情况。

解决方式:先知道当前获取一批数据消费时间,觉得过长可以优化逻辑(治本)以及修改max-poll-records拉取的批次数(减少批次数,只治标),适当增加heartbeat-interval-ms的检测时间,同时要保证session-timeout-ms的时间要大于heartbeat-interval-ms,不然也会修改参数无效这种情况。

调优的配置

# 消费组
group-id: in-tsp-pre
# 偏移量获取方式
auto-offset-reset: latest
# 是否自动提交
enable-auto-commit: false
# auto-commit-interval: 100
# 批次获取数
max-poll-records: 500
# 批次提交最大时长
max-poll-interval-ms: 600000
# 心跳检测 低于session-timeout-ms的三分之一
heartbeat-interval-ms: 10000
# 超时时间
session-timeout-ms: 30000

相关内容

热门资讯

武汉口碑最好的旅行社排名,靠谱... 在武汉这座充满魅力的城市,旅游市场蓬勃发展,旅行社众多,让人眼花缭乱。对于计划出游的朋友来说,选择一...
我是上海人,去了趟天津,有6点... 作为一个土生土长的上海人,我一直对北方城市充满好奇。上个月趁着年假,我独自踏上了天津之旅。本以为同为...
2025中国(青岛)-东盟经贸... 7月3日至5日,以“蓝色伙伴共赢未来”为主题的2025中国(青岛)-东盟经贸合作与人文交流活动在青岛...
开业首日600余人涌入“桃花源... “桃花源漂流”将速度与清凉完美融合。 连日高温,催热避暑经济,2025建德“17℃夏日漂流季”7月...
中盛旅投文化发展(北京)有限公... 中盛旅投文化发展(北京)有限公司:自然与现代交融 在这个世界上,自然与现代的交融总是能创造出令人惊叹...
在哈利波特与混血王子中,为什么... 在哈利波特与混血王子中,为什么罗恩在吃饭时自己头上会下雪才不是,才不是因为巴不得分手高兴所以挥舞魔杖...
八月第二周(8.6~8.12日... 八月第二周(8.6~8.12日)会得到月老牵线,桃花运降临的星座究竟是谁?八月第二周桃花运很好的星座...
足球1x2是什么意思出款多快? 足球1x2是什么意思出款多快?功能介绍: 游戏趣味变声,在游戏语音时,对您输入的声音进行处理,进行...
虚度半生事无为,轮回一世多悲忧... 虚度半生事无为,轮回一世多悲忧,不怨世人笑我痴,只恨自苦三钱命,啥意思虚度半生事无为,轮回一世多悲忧...
写人作文的方法和技巧 写人作文的方法和技巧写人作文的方法和技巧如下:1、肖像描写(外貌描写)通过对容貌、神情、姿态、服饰、...
保安人员培训记录有什么内容? 保安人员培训记录有什么内容?您好,玖玖泰丰验厂网可免费为您提供验厂咨询,十年验厂老品牌,百分百通过验...
有什么好看级数多的动漫 有什么好看级数多的动漫驱魔少年106家庭教师203挺好妖精的尾巴。灼眼的夏娜三季共75集 旋风管家(...
男人如果能够给你什么样的感受就... 男人如果能够给你什么样的感受就说明他是真心爱你的?一个男人如果能够给你非常幸福,而且非常快乐的感受,...
这个动漫人物是谁了。叫什么? 这个动漫人物是谁了。叫什么?舒克和贝塔里的贝塔贝塔~~~~~舒克和贝塔里的贝塔最早的动画,舒克与贝塔...
他还能回到我身边吗?好痛…… 他还能回到我身边吗?好痛……男人的心一旦不在你身上了,那么你哭是错,闹是错,连呼吸活着都是一种错,这...
pda、草木良品、抚柔的薰衣草... pda、草木良品、抚柔的薰衣草纯露哪种比较好前两个找不到。。。最后个品质不确定,但看了各种介绍写上保...
佳人伊憔悴~来个接下一句的 佳人伊憔悴~来个接下一句的雄霸其兴隆。
我的模拟人生:漂流物语安装完以... 我的模拟人生:漂流物语安装完以后运行的时候说找不到与DirectX9.0c兼容的图形适配器怎么办啊~...
求一首非常另类的中文歌曲,在K... 求一首非常另类的中文歌曲,在KTV一唱就能带动全场气氛的,最好是搞笑的!来来~ 小猪我向阁下推荐几首...
家风是什么班会 家风是什么班会传统习俗 家规 家训 礼仪 等等 具有很强的约束力