在网上看了很多答案都不一样

问deepseek也感觉说的模棱两可

自己也没有太多实战经验,就在这胡写两笔吧 现在忙着找工作

迷茫的同时也不知道结果会怎么样 事情会顺利吗 工作之后就真的比读研要舒服吗?

赚的钱够不够在大城市生活,能不能再攒下来点?

现在畅享未来,未来再回首来看 也算有种跨越时空对话的感觉

也许日后真的工作遇到该难题了再回头看这个帖子,会有种啼笑皆非的感觉?

言归正传

消息积压

一般来说就是消费者的消费能力赶不上生产者的生产速度

但是消费者的消费能力为什么不足?有可能是消费本来就耗时,也可能是代码有bug?或者在等待上下流服务到位? 业务层的原因或许有很多 不做讨论

那生产者为什么突然生产能力变强了?公司业务突然暴增?生产者大量重复生产?生产者那边有bug? 总的来说生产挤压算是比较复杂的问题 有可能不是kafka本身的问题

危害

那消息积压有什么危害呢?

处理不了可能会有疑问就是1.最直接的危害,消息得不到及时的处理,产生延迟!一般来说消息可能都是一些异步的任务,要得到及时的处理,若

2.磁盘文件增大,kafka 会按一定策略清理日志,但是若是产生挤压可能来不及清理吧磁盘拉爆

3.内存和gc压力大:PageCache占用过高

4.数据丢失风险:可能数据还没来得及消费就被清理了

解决方法

添加监控,消息挤压时及时处理,比如云厂家的各种监控

短期应急

1.限流 减少数据生产

2.提高拉取的阈值,一次多拉点数据 减少网络io

3.对于非核心业务不做处理

中长期处理

1.排除业务层疑问,消费者或者生产者代码有没有bug

2.扩大分区,增加消费者,提高消费者能力 水平扩容

3.增加硬件设备

4.优化消费者消费逻辑,多线程消费

5.异步任务

感觉都是在纸上谈兵,不过也没有办法,应付应付面试吧

posted on 2025-09-19 21:38  ycfenxi  阅读(24)  评论(0)    收藏  举报