Kafka生产者配置是确保消息可靠、高效传输的关键。以下是一些重要的注意事项和建议:
acks=1
(仅等待主分区确认)和acks=all
(等待所有ISR副本分区确认)。acks=0
时延最小但风险最大。gzip
、snappy
等。压缩可以减少网络传输量,提高性能。retries=0
和max.in.flight.requests.per.connection=1
。以下是一个简单的Kafka生产者配置示例:
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("acks", "all");
props.put("retries", 3);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
。。。。。