1. 선행 작업
- kafa 설치 후 주키퍼, kafka 실행
- quickstart-events 토픽 생성
2. 라이브러리 추가
implementation 'org.springframework.kafka:spring-kafka'
3. KafkaProducer 클래스 작성
@Service
@RequiredArgsConstructor
public class Producer {
private static final String TOPIC = "quickstart-events";
private final KafkaTemplate<String,String> kafkaTemplate;
public void sendMessage(String message){
System.out.println("Send message = " + message);
this.kafkaTemplate.send(TOPIC, message);
}
}
4. KafkaConsumer 클래스 작성
@Service
public class Consumer {
@KafkaListener(topics = "quickstart-events", groupId = "con")
public void consume(String message) throws IOException {
System.out.println("rcv message = " + message);
}
}
5. KafkaController 작성
@RestController
@RequestMapping(value = "/kafka")
@RequiredArgsConstructor
public class KafkaController {
private final Producer producer;
@PostMapping
public String sendMessage(@RequestParam("message") String message){
this.producer.sendMessage(message);
return "success";
}
}
6. KafkaController 호출
7. 메세지 송수신 확인