Alarm Service in Server
알림 서비스로 시작하는 서버 개발 / if(kakao)2022
카카오 뱅크가 만든 알림서비스
기존 구조
만약 알림 생성에 부하가 걸린다면?
해결방안 1: 알림 서버를 알림 생성, 알림 조회 서버로 분리
하지만, 알림 생성 요청이 많아져 지연 응답 발생한다면?
해결 방안 3: 짧은 Timeout 설정과 비동기 호출
어떻게 신뢰있는 생성 서버로 만들 수 있을까?
해결 방안 4: 생성 서버 내부에서 비동기로 알림을 생성
생성 서버가 다운되거나 재시작되면?
해결방안 5: Message Queue 도입
Queue에 장애가 발생하면?
해결 방안 6: Database를 두어, Enqueue 요청을 저장
최종 아키텍처:
알림 조회
고객에게 안정적이고 빠른 서비스 제공
추가 요구사항
해결 방안 1. DB 분리
3개월 이전의 데이터를 삭제해야 한다면?
해결방안 2. Partitioning
고객수도 늘어나고 서비스도 다양해져, 알림 수, 트래픽이 증가
해결방안 3. Application Scale-Out
하지만, 애플리케이션만 확장한다고 커지는 서비스 트래픽을 감당할 수 없음
해결방안 4. Sharding
해결방안 5. DB 스키마 기능으로 DB 확장 문제 해결
확장이 필요할 때
느낀점:
Last updated