가상면접으로 배우는 대규모 시스템 설계 기초
10장 알림 시스템 설계
알림 시스템
- 모바일 푸시 알림
- SMS 메시지
- 이메일
알림 유형별 지원 방안
- IOS 푸시 알림
- 알림 제공자 : 애플 푸시 알림 서비스(APNS)
- 단말 토큰
- 페이로드
- APNS : 애플이 제공하는 원격 서비스
- IOS 단말
- 알림 제공자 : 애플 푸시 알림 서비스(APNS)
- 안드로이드 푸시 알림
- FCM : firebase cloud messaging
- SMS 메시지
- 트월리오
- 넥스모
- 이메일
- 샌드그리드
- 메일침프
연락처 정보 수집 절차
알림을 보낼려면 모바일 단말 토큰, 전화번호, 이메일 주소등의 정보가 필요하다 수집 방법을 고민할 필요가 있다
알림 전송 및 수신 절차
- 알림 시스템
- 제3자 서비스
- IOS, AOS, SMS, 이메일 단말
- 문제점
- SPOF
- 규모 확장성
- 성능 병목
- 메시지 큐
- 캐시
- 알림 서버
- 데이터베이스
- worker 서버
상세설계
- 안정성
- 데이터 손실 방지
- 재시도 메커니즘이 존재해야 됨
- 알림 중복 전송 방지
- 분산 시스템 특성상 가끔 같은 알림이 중복 전송됨
- 알림 템플릿
- 알림 설정
- 전송률 제한
- 재시도 방법
- 푸시 알람과 보안
- 큐 모니터링
- 이벤트 추적
- 데이터 손실 방지