线上问题及优化
发送端消息丢失
发送端消息顺序错乱
原因:重试机制导致后发送的消息先提交(如 Leader 切换时)。
解决:启用幂等性(enable.idempotence=true),并设置 max.in.flight.requests.per.connection=1。
发送端消息重复
原因:网络重试导致 Broker 收到重复消息。
解决:启用幂等性,或在消费者端做去重(如数据库唯一键)。
发送端吞吐量不足
优化方向:增大 batch.size、linger.ms,启用压缩,调整线程数。
发送端缓冲区溢出
现象:抛出 TimeoutException: Buffer is full。
解决:增大 buffer.memory 或提升消费者处理速度。
