MSA 학습(7) - kafka 연동

엉무개·2021년 8월 27일
0

MSA

목록 보기
8/12

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. 메세지 송수신 확인

profile
엉덩이가 무거운 개발자

0개의 댓글