[Kafka]_Springboot에 Kafka 연결하기(feat.consumer)
2022. 4. 17. 15:08ㆍ[Kafka]
728x90
반응형
목표]
1. Springboot 에 kafka 연결 후 consumer 기능 구현하기.
툴: IntelliJ
환경 : Springboot
빌더 : maven
---
1. Springboot 프로젝트를 생성한다]
maven 으로 선택해야한다.
2. pom.xml에 dependency 추가
<!-- kafka dependency -->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
3.application.yml 생성
spring:
kafka:
consumer:
bootstrap-servers: 여려분의 IP 주소:9092
group-id: springtest
auto-offset-reset: earliest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
producer:
bootstrap-servers: 여려분의 IP 주소:9092
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
kafka 의 설정과 비슷합니다.
bootstrap-server -> 접속할 kafka 서버의 ip
만약 serverpropertise에 advertiseListner 설정을 하지 않았다면, localhost 입니다.
groupId -> consumerGroup -> 유니크한 값을 집어넣습니다 (겹치면 안됨)
auto-offset -reset -> 재시작시 읽어드릴 offset 설정
key-
value-
이부분은 데이터를 전송할 시리얼라이져들의 설정입니다. -> String 의 값으로 받아옵니다.
4. 사용할 곳에 @KafkaListner 생성
@KafkaListener(topics = "book", groupId = "springtest")
public void consume(String data) throws Exception{
}
topices 는 접속할 topic 의 이름
groupID는 application에 groupid 값을 넣어줍니다.
그리고 consume 함수 안에는 String data 를 받아오는데
consumer가 읽어온 메시지를 string 형태로 받아온 것입니다.
이를 핸들링하여 원하는데로 조작 할 수 있습니다.
감사합니다.
728x90
반응형
'[Kafka]' 카테고리의 다른 글
[Kafka]_실전 응용 환경 적용_(kafka 1대, consumer,producer 분리) (0) | 2022.04.06 |
---|---|
[Kafka]_설치 와 메세지 전송 테스트 (0) | 2022.04.06 |
[Kafka]_Kafka 의 개념과, 사용 의의 (0) | 2022.04.06 |