inflearn logo
강의

Course

Instructor

Introduction to Kafka for Immediate Real-World Use

[Practice] Consuming Messages from Kafka with Spring Boot (Consumer)

질문드립니다.

53

작성자 없음

0 asked

0

22강 [실습] Spring Boot로 Kafka에서 메시지 조회하기(Consumer)를 실습하고 있었습니다.
강사님이 제공한 방식과 다르게 해보고 싶어서 이전 강의에서 Producer를 구현한 프로젝트에 Consumer를 추가적으로 구현하였습니다. yml 설정 추가와 consumer 클래스를 추가하엿는데, 프로젝트 기동 시 Consumerr가 초기화가 되지 않고 있습니다. 강의대로 consumer를 프로젝트 분리하여 실행하면, 강의와 동일하게 정상동작하는데, 왜 1개의 프로젝트에선 정상동작하지않는 것인지 궁금합니다.

kafka

Answer 2

0

jscode

안녕하세요 ! 질문 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

 

Producer와 Consumer를 하나의 프로젝트에 함께 구현하셨는데

Consumer가 초기화되지 않는 상황이시군요!

하나의 프로젝트에서 Producer와 Consumer를 같이 구현하는 것은 충분히 가능해요 !

다만 Consumer가 초기화되지 않는 문제는 몇 가지 원인이 있을 수 있어서,

정확한 원인 파악을 위해 몇 가지 확인해 주시면 좋을 것 같아요~

먼저 Consumer 클래스에 @Service 또는 @Component 애노테이션이

제대로 붙어있는지 확인해주세요 ! 그리고 패키지 구조가 Spring Boot의

main 클래스가 있는 패키지 하위에 있는지도

체크해 보시면 좋을 것 같아요 !

Component Scan이 제대로 되지 않으면 Consumer가 Bean으로 등록되지 않아서

초기화가 안 될 수 있어요 ! 또한 application.yml에 producer와 consumer 설정이

모두 들어가 있을 텐데, 혹시 설정이 제대로 분리되어 있는지 확인해주세요 !

특히 spring.kafka.consumer 부분의 key-deserializer, value-deserializer,

auto-offset-reset 같은 설정들이 누락되지 않았는지 체크해보세요!

또한 포트 설정이 어떻게 되어있는지도 확인이 필요해요 !

정확한 원인을 찾기 위해서는 Consumer 클래스 코드(특히 클래스 위에 붙은 애노테이션들), application.yml 전체 내용, 프로젝트 실행 시 콘솔에 찍히는 로그(특히 에러 메시지가 있다면), 그리고 패키지 구조가 어떻게 되어 있는지를 공유해 주시면 더 정확한 답변을 드릴 수 있을 것 같아요 :)

 

위 정보들을 확인해 보시고 추가로 궁금하신 점 있으시면

언제든 편하게 추가 질문 댓글 남겨주세요~~

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 홋메님.

Kafka의 Consumer를 Spring Boot 프로젝트에서 초기화하는 과정에서 발생할 수 있는 문제에 대해 몇 가지 고려해야 할 사항이 있습니다. Consumer가 초기화되지 않는 이유는 다양한 요소에 의해서 발생할 수 있으며, 다음의 사항들을 검토해 보시는 것이 도움이 될 수 있습니다.

1. 구성 설정 확인

  • application.yml 또는 application.properties 파일 내에 Kafka 관련 설정이 올바르게 추가되었는지 확인하세요. 특히 bootstrap.servers와 같은 필수 설정이 빠져 있다면 Consumer가 정상적으로 초기화되지 않을 수 있습니다.
spring:
  kafka:
    consumer:
      bootstrap-servers: localhost:9092
      group-id: your-consumer-group
      auto-offset-reset: earliest

2. Dependency 추가 확인

  • Spring Boot 프로젝트에 필요한 의존성이 추가되어 있는지 확인하세요. spring-kafka 의존성이 포함되어 있는지 점검해 보세요.
<dependency>
  <groupId>org.springframework.kafka</groupId>
  <artifactId>spring-kafka</artifactId>
</dependency>

3. Consumer 클래스

  • @KafkaListener를 포함한 Consumer 클래스가 올바르게 정의되어 있고, Spring Boot가 스캔할 수 있는 패키지 내에 위치해 있어야 합니다. 컴포넌트 스캔이 올바르게 설정되었는지 확인해 보세요.
@Service
public class KafkaConsumer {
    
    @KafkaListener(topics = "your-topic", groupId = "your-consumer-group")
    public void listen(String message) {
        System.out.println("Received Message: " + message);
    }
}

4. 환경 및 실행 조건

  • 두 구성 요소가 다른 JVM에서 충돌이 발생하지 않도록, 네트워크 및 포트 설정이 올바른지 확인하십시오. 단일 프로젝트 내에서 서로 다른 포트를 사용하고 있을 수 있습니다.

이미 위의 체크리스트를 한 번씩 점검해보시고 여전히 문제가 개선되지 않는다면, 유사한 상황에 직면했던 사용자들의 경험담이 도움이 될 수 있습니다.

위의 링크는 Spring Boot와 Kafka를 통합하는 크고 작은 설정 문제를 해결하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

2. Kafka 설치 파일 다운받기 404 Not Found 오류 관련

0

59

2

UserSignedUpEventConsumer 에서 로그 DB 저장 문의

0

51

2

리더 파티션 선출 규칙에 관한 질문

0

69

2

kafka 실패 후 재시도 DLT 소비 무한으로 하는 현상이 발생합니다

1

141

2

잘못된 이메일 주소로 인해 발송 실패 코드

0

107

3

카프카 서버 관련 질문입니다.

0

89

2

선생님 질문이 있습니다. 왜 바로 aws 설치 하시는지 궁금합니다.

0

98

2

Kafka 음성메세지 브로커로도 적합한가요?

0

78

2

재시도조차 실패한 메시지 사후 처리하기

1

110

2

retry 시 동작과정 질문

0

119

2

JsonSerializer & JsonDeserializer

0

73

2

auto.create.topics.enable=false 설정

0

101

2

email 발송 로직 관련

0

69

2

concurrency 설정 + 같은 groupId 내에 consumer 여러개

0

74

2

concurrency 동작 안됨

0

72

3

컨슈머 서버 점진적 배포 시나리오

0

63

2

Connection -1

0

58

2

적정 파티션 개수 계산하는 방법 질문드립니다

0

126

2

섹션5 33 질문드립니다

0

47

1

aws아닌 도커로는 안되나요?

0

102

2

파티션 증가 질문드립니다

0

76

2

섹션7 51 컨슈머서버 무한 리로드?

0

141

4

섹션6 43 질문드립니다

0

57

3

kafka [37강의]

0

64

2