Kafka & Producer& Cumsumer & Spring
스프링에서 프로듀서와 컨슈머를 사용해보자
개요
- 이력서 서비스와 회사 서비스가 존재
- 이력서를 유저가 작성을 하면 회사 서비스의 참가자 수가 증가하도록 설계
- 이력서 = 프로듀서 , 회사 = 컨슈머
- 프로듀서(이력서)가 토픽에 데이터를 전달
- 토픽을 구독한 컨슈머(회사)는 데이터를 받아와서 참가자 수를 증가
기본 설정
- Apache Kafka 를 설치
- Kafka 의 server.properites(카프카 설정 파일)에 리스너(컨슈머의 기능)를 위한 포트 설정
- org.springframework.kafka 종석성을 추가
프로듀서 설정
- 프로듀서 쪽에 설정파일을 생성
- 카프카의 토픽을 지정
-
데이터 전달시에 직렬화 클래스를 지정
- kafkaTemplate 의 send 메서드를 구현
컨슈머 설정
- 컨슈머 설정 파일을 구성, 리스너에 등록
- 리스너 어노테이션을 이용해서 메서드를 구현
로직
-
이력서를 작성한다.
-
작성 후에 카프카 토픽에 메시지를 전달
- 컨슈머가 토픽에 전달된 메시지를 받아온다.