上云无忧 > 文档中心 > 腾讯云消息队列 CKafka - 过期消息没有被及时删除
消息队列 CKafka
腾讯云消息队列 CKafka - 过期消息没有被及时删除

文档简介:
问题概述: 过期消息没有及时被删除。 原因分析: Kafka 的消息删除机制会导致某些业务场景出现过期消息没有及时删除的情况,如果对机制不了解容易产生疑惑,例如:分区0和分区7的消息时间戳存在明显差距,分区0的过期消息没有被及时删除。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

问题概述

过期消息没有及时被删除。

原因分析

Kafka 的消息删除机制会导致某些业务场景出现过期消息没有及时删除的情况,如果对机制不了解容易产生疑惑,例如:分区0和分区7的消息时间戳存在明显差距,分区0的过期消息没有被及时删除。

Kafka 消息删除机制

Kafka 数据存储是以 Topic、分区、数据段三个维度实际落盘存储的,消息数据删除的条件如下:
消息数据根据保留时间进行删除,删除是以数据段为单位的。
每个数据段当前是设置为1GB大小,达到1GB后滚动生成新的数据段。
数据段内的所有消息都过期才会删除该数据段。
如果数据段内有一行消息在保留时间内,即例如段文件的最后一行是在保留时间内,这个段文件就不会被删除。
由于某些原因导致消息写入有倾斜,数据写入集中在某些分区,例如分区7,某些分区数据很少,例如分区0。此时分区0的数据段大小未达到1GB,没发生滚动,但整个段内有数据在保留时间内,所以分区0中的消息就不会被删除。
相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部