查看别人线上遇到的问题,也能很好的学习其中的理论,从而提高自己应对线上问题的能力。
要点概述:主要是因为kafka Broker在处理高水位线(HW)会涉及到读写锁leaderIsrUpdateLock,
(1)写入消息和拉去消息都会申请leaderIsrUpdateLock的读锁(2)ISR扩张和收缩时会申请leaderIsrUpdateLock的写锁
所以当ISR频繁发生扩张与收缩时会严重影响kafka消息的读写。
解决方法:
(1)replica.lag.time.max.ms从默认10s改为30s,降低副本被移除ISR门槛
(2)num.replica.fetchers从1适当增加,提高follower节点从leader节点同步数据的线程数