开发者社区> 问答> 正文

什么是死分区和假堆积?

什么是死分区和假堆积?

展开
收起
保持可爱mmm 2020-03-28 18:14:07 623 0
1 条回答
写回答
取消 提交回答
  • 当一个分区,长期没有数据发送进来时,就慢慢变成了“死分区”。死分区,通常不会造成使用问题,但却给监控报警等问题带来干扰。常见的问题就是查看堆积状态显示堆积,且堆积一直存在。这是因为死分区长期没有数据进来,消费端也不会再提交位点,超过保留时间后,位点会过期。当一个分区没有位点在服务端时,默认取“最大位点”-“最小位点”作为堆积值。此时,如果分区已死,但里面的消息并没有被完全删除时,就会出现“假堆积”的情况。 一般来说,如果数据量足够多时,保留时间一到,消息就都被删除了。但如果数据量少时,消息可能要很久才会真正被删除,因为服务端存储是 1G 为 Segment,至少保留一个 Segment 导致的。 解决办法就是,消息尽量发送均匀,且保证每个分区有数据。如果业务数据比较少,可以考虑定时发一些心跳数据到各个分区里面去。

    2020-03-28 18:16:26
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载