Closed jvnlee closed 5 months ago
NotificationService의 notify()를 통한 FCM 알림 발송 시, 발송에 실패하는 상황에 대한 처리 추가
NotificationService
notify()
현재 notify()의 로직은 다음과 같음
1) 특정 Seat에 대한 빈 자리 알림을 신청한 User의 목록을 받아옴
Seat
User
2) User가 가진 FCM Token을 가지고 FirebaseMessaging 모듈에 알림 전송을 위임
FirebaseMessaging
→ 이 때, `firebaseMessaging.send()`에서 예외가 발생하면 `catch` 블럭에서 에러 로깅만 하고 별도의 처리를 해주지 않고 있음
빈 자리 알림은 비즈니스 요구사항의 핵심 중 하나이기 때문에, 한 번의 알림 발송 시도가 실패했다고 그대로 두게 되면 서비스에 매우 치명적임
실패 시, 특정 횟수 만큼 특정 시간 안에 재시도를 하는 방안을 고려중임
→ Spring이 제공하는 모듈인 Spring Retry를 통해 재시도 로직을 구현
개요
NotificationService
의notify()
를 통한 FCM 알림 발송 시, 발송에 실패하는 상황에 대한 처리 추가문제 상황
현재
notify()
의 로직은 다음과 같음1) 특정
Seat
에 대한 빈 자리 알림을 신청한User
의 목록을 받아옴2)
User
가 가진 FCM Token을 가지고FirebaseMessaging
모듈에 알림 전송을 위임빈 자리 알림은 비즈니스 요구사항의 핵심 중 하나이기 때문에, 한 번의 알림 발송 시도가 실패했다고 그대로 두게 되면 서비스에 매우 치명적임
개선 방안
실패 시, 특정 횟수 만큼 특정 시간 안에 재시도를 하는 방안을 고려중임
→ Spring이 제공하는 모듈인 Spring Retry를 통해 재시도 로직을 구현