코디잉
9주차 - WIL (Weekly I Learned) 본문
🧐 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 설정 등)
'PROJECT > 항해플러스 Lite 백엔드' 카테고리의 다른 글
[항해 Lite 백엔드 1기] 회사 병행하며 10주 항해 솔직 후기 🐳 (3) | 2025.08.10 |
---|---|
8주차 - WIL (Weekly I Learned) (0) | 2025.07.13 |
7주차 - WIL (Weekly I Learned) (0) | 2025.07.06 |
6주차 - WIL (Weekly I Learned) (0) | 2025.07.01 |
5주차 - WIL (Weekly I Learned) (0) | 2025.06.21 |
Comments