Skip to content

线上问题及优化

发送端消息丢失

发送端消息顺序错乱

原因:重试机制导致后发送的消息先提交(如 Leader 切换时)。

解决:启用幂等性(enable.idempotence=true),并设置 max.in.flight.requests.per.connection=1。

发送端消息重复

原因:网络重试导致 Broker 收到重复消息。

解决:启用幂等性,或在消费者端做去重(如数据库唯一键)。

发送端吞吐量不足

优化方向:增大 batch.size、linger.ms,启用压缩,调整线程数。

发送端缓冲区溢出

现象:抛出 TimeoutException: Buffer is full。

解决:增大 buffer.memory 或提升消费者处理速度。