Linux下解决Kafka消息丢失问题可从生产端、Broker端、消费端三方面入手,具体措施如下:
生产端
acks=all,确保消息被所有副本接收才算成功。retries(建议≥3)和retry.backoff.ms(如100ms)。enable.idempotence=true),避免重复发送。max.in.flight.requests.per.connection=1)。Broker端
replication.factor≥3,提高数据冗余度。min.insync.replicas≥2,确保写入时有足够副本同步。log.flush.interval.messages和log.flush.interval.ms),减少未刷盘数据丢失。消费端
enable.auto.commit=false),手动提交确保消息处理完成。通用措施