Kafka 이벤트 발행 구현
리뷰 서비스에서 Kafka 이벤트 발행 기능을 구현할 것이였고, 간병인 담당자와 이야기 끝에 리뷰가 생성/수정/삭제될 때
간병인 서비스로 평점 갱신 요청 메시지를 보내는 것이었다.
💡 주요 작업
- Kafka 의존성 및 설정 파일 추가
- CaregiverRatingMessage DTO 설계
- CaregiverRatingProducer 클래스 생성
- 리뷰 작성/수정/삭제 시 Kafka 메시지 발행 로직 구현
- 간병인 서비스에서는 이미 consumer가 구현되어 있어 연동 테스트만 진행
주요 작업 정리.
🔁 연동 흐름
[review-service] 리뷰 작성/수정/삭제
↓
Kafka 메시지 발행 (review-rating-update)
↓
[caregiver-service] Kafka Consumer가 메시지 수신 → 평균 평점 재계산
연동 흐름도 정리.
진행
먼저 Kafka 관련 의존성 및 설정을 추가하였고, 이벤트 메시지 클래스는 간병인 담당자가 만들어놔서 참고해서 진행하였다.
리뷰쪽에서는 Producer 클래스를 구현하고 Service 로직에 각 이벤트 발행하면 되었다.
이 후 테스트 한 후 PR을 올리고 간병인 담당자와 소통 후 피드백을 주고 받은 후 마무리 하였다.
💭 느낀 점
- 단일 서비스 내부에서만 처리하던 리뷰 → 간병인 평점 연동을 Kafka로 풀어내니 도메인 간 연결이 깔끔해졌다.
- 동기 호출이 아닌 메시지 발행 방식이기 때문에, 리뷰 서비스는 간병인 응답을 기다리지 않아도 된다
→ 성능 향상 + 확장성 Good. - 추후에는 메시지 발행 실패 처리, 메시지 중복 방지 등 운영 고려사항도 챙겨야 할 것 같다.
- kafka가 사용이 익숙치 않아 처음에 많이 어려웠다.