
이번 장은 가상 면접 사례로 배우는 대규모 시스템 설계 기초 10장 알림 시스템 설계에 대한 내용이다.
고객에게 중요한 정보를 비동기적으로 제공한다.
- 모바일 Push 알림, 이메일, SMS 모두 지원
- 연성 실시간(실시간이지만, 어느 정도 지연은 허용)
- IOS, Android, Desktop, Laptop 모두 지원
- 알림 생성의 주체는, 프로그램이 생성할 수도 있고 스케줄링 작업으로 처리할 수도 있다.
- 하루 천만 건의 모바일 Push 알림
- 백만 건의 SMS 메세지
- 5백만 건의 이메일
알림 제공자(Provider)
APNS : 애플이 제공하는 원격 서비스로, 푸시 알림을 기기로 보내는 역할을 담당
iOS 단말
안드로이드
SMS 메시지
이메일
연락처 정보 수집 절차
알림 전송 및 수신 절차
서드 파티 서비스 선택 시 확장성과 중국과 같은 폐쇄적인 시장도 고려하여 선택해야 함
문제점
사용자 단말 정보를 캐시에 저장
알림 유형별 Message Queue 를 두어 알림 시스템과 worker의 결합을 느슨하게 함
알림 전송 API -> 스팸 방지를 위한 Authentication과 Authorization 이 필요함
알림 validation, DB/cahce query, 알림 전송
잘 보고갑니다