如何在 Spring Kafka Producer 上配置 min.insync.replicas 参数?
How to configure min.insync.replicas parameter on Spring Kafka Producer?
在 Java Spring 应用程序中,我正在配置 Producer 以使用 Acks and must set min.insync.replicas 参数。
我使用以下方法设置了 Acks:
configProps.put(ProducerConfig.ACKS_CONFIG, kafkaAcks);
但我在 ProducerConfig
上找不到 min.insync.replicas
属性。查看 Kafka Spring Docs 我没有找到与 min.insync.replicas
相关的 属性。
那么,我如何在 Kafka Spring 应用程序上配置 min.insync.replicas
?
@Bean
public KafkaTemplate<String, GenericRecord> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
public ProducerFactory<String, GenericRecord> producerFactory() {
return new DefaultKafkaProducerFactory<>(getProducerGenericRecordConfigurations());
}
private Map<String, Object> getProducerGenericRecordConfigurations() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaBootstrapServerUrl);
configProps.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryURL);
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class);
configProps.put(ProducerConfig.ACKS_CONFIG, kafkaAcks);
return configProps;
}
min.insync.replicas
不是生产者配置。这是一个 broker/topic 设置。
您可以在经纪人级别的 server.properties
文件中为您的经纪人设置它。
否则,您可以在创建时或通过更改每个主题进行设置。
在 Java Spring 应用程序中,我正在配置 Producer 以使用 Acks and must set min.insync.replicas 参数。
我使用以下方法设置了 Acks:
configProps.put(ProducerConfig.ACKS_CONFIG, kafkaAcks);
但我在 ProducerConfig
上找不到 min.insync.replicas
属性。查看 Kafka Spring Docs 我没有找到与 min.insync.replicas
相关的 属性。
那么,我如何在 Kafka Spring 应用程序上配置 min.insync.replicas
?
@Bean
public KafkaTemplate<String, GenericRecord> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
public ProducerFactory<String, GenericRecord> producerFactory() {
return new DefaultKafkaProducerFactory<>(getProducerGenericRecordConfigurations());
}
private Map<String, Object> getProducerGenericRecordConfigurations() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaBootstrapServerUrl);
configProps.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryURL);
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class);
configProps.put(ProducerConfig.ACKS_CONFIG, kafkaAcks);
return configProps;
}
min.insync.replicas
不是生产者配置。这是一个 broker/topic 设置。
您可以在经纪人级别的 server.properties
文件中为您的经纪人设置它。
否则,您可以在创建时或通过更改每个主题进行设置。