Study/Kafka
Spring Boot Kafka Producer 설정
728x90
반응형
/**
* kafka producer config
*
* @author shmin
*
*/
@EnableKafka
@Configuration
public class KafkaProducerConfig {
@Value(value = "${spring.kafka.bootstrap-servers}")
public String bootstrapAddress;
@Bean
public ProducerFactory<String, String> senderProps() {
Map<String, Object> props = new HashMap<>();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
// Kafka 브로커로 메시지를 보낼때 직렬화/역직렬화 방식
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.RETRIES_CONFIG, 3); // 전송 실패시 재시도 횟수
// ackmode
// 0 : 자신이 보낸 메시지에 대해 카프카로부터 확인을 기다리지 않음
// 1 : 자신이 보낸 메시지에 대해 카프카의 leader가 메시지를 받았는지 기다림, follower들은 확인하지 않음
// all(-1) : 카프카의 leader와 follwer까지 받았는지 확인. 손실될 확률 거의 없음
// props.put(ProducerConfig.ACKS_CONFIG, "all");
return new DefaultKafkaProducerFactory<>(props);
}
@Bean
public KafkaTemplate<String, String> kafkaTemplate() {
return new KafkaTemplate<>(senderProps());
}
}
728x90
반응형
'Study > Kafka' 카테고리의 다른 글
Spring Boot Kafka RebalanceListener 예시 (0) | 2023.12.07 |
---|---|
Spring Boot Kafka Consumer 전략 (0) | 2023.12.07 |
springboot에서 kafka 연동 (2) | 2023.12.07 |
Kafka Topic (0) | 2023.12.07 |
Kafka 고가용성(HA)의 핵심 - Broker, Replication, ISR (2) | 2023.11.30 |
댓글