Kafka生产者配置在Debian上的注意事项
kafka1:9092,kafka2:9092),建议至少配置2个地址以实现高可用。若集群规模较大,可通过此参数让生产者自动发现集群中的其他Broker。org.apache.kafka.common.serialization.StringSerializer),确保生产者发送的数据能被Broker正确解析。acks=1(默认)表示仅等待Leader分区确认,性能较好但可能存在数据丢失风险;acks=all(或-1)表示等待所有ISR(同步副本)分区确认,可靠性最高,但会增加延迟。根据业务需求选择(如金融场景建议acks=all)。retries=3)和重试间隔(如retry.backoff.ms=1000),可应对临时性网络故障或Broker不可用问题,避免消息丢失。enable.idempotence=true),可避免因网络重试导致的重复消息,确保消息的“精确一次”语义(需Kafka 0.11及以上版本支持)。batch.size=100000,约100KB)。增大批次大小可减少网络请求次数,提高吞吐量,但过大的批次会增加延迟(需根据业务容忍度调整)。linger.ms=100)。增加该值可提高批次填充率,提升吞吐量,但会增加消息延迟(适用于对延迟不敏感的场景)。compression.type=snappy或lz4),可减少网络传输的数据量和Broker的存储压力。snappy压缩速度快、CPU开销小,适合对延迟敏感的场景;lz4压缩率更高,适合对带宽敏感的场景。buffer.memory=64M)。若生产者发送速率超过Broker处理速率,缓存满会导致发送阻塞,需根据业务消息量调整(建议64M以上)。receive.buffer.bytes和send.buffer.bytes),提高网络传输效率。server.properties配置文件是否有语法错误。bootstrap.servers地址正确,防火墙未阻止9092端口(可通过telnet kafka1 9092测试连通性)。batch.size和linger.ms)、启用压缩(compression.type=snappy)、调整生产者缓存(buffer.memory=64M),或升级Broker硬件(如使用SSD)。