[#5] 컨슈머 코드 마이그레이션 #6

Merged
pricelees merged 9 commits from feature/#5 into main 2025-06-27 05:43:39 +00:00
Owner

📝 관련 이슈 및 PR

PR과 관련된 이슈 번호

작업 내용

  1. 로컬 프로젝트에 있는 컨슈머 코드 마이그레이션
  2. 컨슈머 코드 추가로 인해 카프카 클러스터가 실행되지 않았을 때의 기존 DLTProducer 테스트 실패 방지를 위한 컨슈머 Mocking 추가

🧪 테스트

  1. 카프카 클러스터 실행 후 애플리케이션 정상 동작(컨슈머 파티션 할당) 확인.
  2. 카프카 클러스터의 docker-compose를 실행하는 ./run-kafka-cluster.sh 스크립트를 추가하여 클러스터 실행 간소화

📚 참고 자료 및 기타

<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #5 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> 1. 로컬 프로젝트에 있는 컨슈머 코드 마이그레이션 2. 컨슈머 코드 추가로 인해 카프카 클러스터가 실행되지 않았을 때의 [기존 DLTProducer 테스트](https://gitea.pricelees.me/pricelees/understanding-kafka-consumer/commit/b0456c18a26d1d51f80d0bf7941af0032a3ccb9c) 실패 방지를 위한 컨슈머 Mocking 추가 ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> 1. 카프카 클러스터 실행 후 애플리케이션 정상 동작(컨슈머 파티션 할당) 확인. 2. 카프카 클러스터의 docker-compose를 실행하는 ./run-kafka-cluster.sh 스크립트를 추가하여 클러스터 실행 간소화 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! -->
pricelees added 9 commits 2025-06-27 05:43:31 +00:00
- 스레드 풀이 필요한 곳, 단순히 스레드 수가 필요한 곳 모두에서 사용하기 위함.
- 일단 로깅 및 Manual Commit만 진행
- 메트릭 측정(ref: ce20f85c)을 위한 로직
- 레코드 자체를 처리하는 비즈니스 로직은 없음.
- 오프셋 비동기 커밋 & 예외 처리 & shutdown 기능 구현
- 3개의 워커스레드 생성 및 실행
- 스프링의 PreDestroy를 이용한 shutdown 로직 구현
- 컨슈머 관련 설정 + 메트릭 측정을 위한 MeterBinder 빈
- KafkaConsumer는 Thread-Safe하지 않기에 빈 등록 X
- Kafka 클러스터 실행 없이 테스트를 진행해도 정상 동작해야 함.
pricelees merged commit ebd003b79e into main 2025-06-27 05:43:39 +00:00
pricelees deleted branch feature/#5 2025-06-27 05:43:39 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: pricelees/understanding-kafka-consumer#6
No description provided.