1. topic状态详解

在这里插入图片描述
① topic名称

② topic分区总数

③ topic副本总数

④ topic配置,包含老化时间、老化大小、分段大小配置。topic分区是以分段文件大小去老化,一段文件的消息时间满足老化时间或老化的大小,则该该段文件老化。

⑤ topic分区,分区以0开始

⑥ topic 分区的leader id,leader id从isr中选取,leader为none时表示,topic分区无leader,topic不可用。

⑦ topic分区的副本列表,数量等于副本总数

⑧ topic分区的isr 列表,isr为leader的候选列表,数量小于等于副本列表数量,isr代表副本已经完成从leader到其他副本间的数据同步,可以作为leader的候选列表。

2. 消费组状态详解

image-20220613175319503
① 消费组名称

② 订阅的topic名称

③ PARTITION 表示topic 分区id

④ CURRENT-OFFSET 代表消费者已消费该topic-分区的进度。消费者poll消息,并commit才会刷新该值。

⑤ LOG-END-OFFSET 代表该topic-分区消息的高水位。表示该topic-分区已有的消息数量。

⑥ LAG 消费挤压。表示消费者对该topic-分区的消费积压情况,还剩多少条未消费。LAG = LOG-END-OFFSET - CURRENT-OFFSET, LAG为0,表示该topic-分区无积压。

⑦ CONSUMER-ID。消费者id,唯一id对应一个消费者,一般对应业务的一个消费线程。通常情况下,业务的消费线程不断的循环poll消息,消费者id也一直在组里。

⑧ CONSUMER-ID 为 “-”。CONSUMER-ID 为 “-” 为异常场景,可理解为消费者已经离开消费组。一般情况下,为业务消费线程已不再消费,此时业务应该排查自己的消费线程是否不再拉取消息,甚至是否线程已跑飞。

3.生产的消息状态详解

​ 业务经常会有消息有没有生产成功的疑问,从业务日志上看,业务充分捕获异常消息,生产消息未发生异常,消息一般生产成功。如还有疑问可以进行如下步骤进行确认。

3.1 查看topic-分区的文件信息
在这里插入图片描述
① log文件为testtopic1的分区2的数据文件。

​ 业务可根据log文件的最后修改时间判断是否生产成功,与业务生产消息时间一致,即生产成功。

② kafka topic数据的目录

3.2 利用脚本解析数据文件,查看具体消息体内容。解析topic文件,查看解析内容。

在这里插入图片描述
在这里插入图片描述
① 解析消息命令

② offset: 具体某条生产成功的消息的offset

③ CreateTime:该条消息的落盘时间

④ compressType:压缩算法

⑤ headerKeys:消息头

⑥ payload :生产的消息内容。业务直接关心的消息内容

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐