코디잉

9주차 - WIL (Weekly I Learned) 본문

PROJECT/항해플러스 Lite 백엔드

9주차 - WIL (Weekly I Learned)

yong_ღ'ᴗ'ღ 2025. 7. 20. 17:47

🧐 9주차 과제 

Kafka 도입: 결제 성공 후 처리 로직을 Kafka 메시지 기반으로 비동기 처리하도록 개선

🙋‍♀️ 고민했던 부분

기존 ApplicationEvent → Kafka 기반 구조로 리팩토링

◾ 기존에는 @TransactionalEventListener(phase = AFTER_COMMIT) 기반으로 비동기 이벤트를 처리했음

◾ Kafka를 도입하여, 이벤트들을 Kafka 메시지로 발행하고 별도 Consumer에서 처리하도록 구조 변경

     ◽ 발행: ReservationService.pay() 성공 시 PaymentSuccessMessage Kafka로 전송
     ◽ 소비: PaymentSuccessKafkaConsumer.consume()에서 메시지 수신 후 랭킹/토큰/내역 순차 처리

◾ 이벤트 리스너 → 메시지 기반으로 변경하면서 생기는 차이점들을 고려해야 했음

✅ Keep (잘한 점 / 유지할 점)

Kafka 기반 구조로 리팩토링하며 시스템의 확장성과 비동기 분산 처리 구조 경험

💬 이번 주 알게 된 것들

  • 기존 ApplicationEvent → Kafka 기반 구조로 리팩토링 하는 방법
  • Kafka Producer/Consumer 기본 설정 및 메시지 직렬화 방식 (JsonSerializer, trusted.packages 설정 등)
Comments