배경 및 문제
저희 앱은 사용자들이 함께 콘텐츠를 만들어가는 서비스이다 보니 사용자 간의 정보 전달이 비즈니스적으로 매우 중요한 요소라고 생각했습니다.
따라서 지속적인 앱 사용을 이끌어낼 수 있도록 푸시 알림 기능을 도입하기로 결정했습니다.
그런데 서비스 비용 절감을 위해서 Oracle 무료 인스턴스를 애플리케이션 서버로 활용하고 있습니다.
때문에 최대한 애플리케이션 서버의 부담을 덜어주어야 하는 상황이었습니다.
해결 방안
애플리케이션 서버의 부담을 최소화하고 비용을 절감하는 것이 핵심이었습니다.
한 달에 100만 건 무료로 이용할 수 있는 AWS SQS와 한 달 동안 인스턴스 1개를 무료로 이용할 수 있는 EC2 프리티어를 활용한 알림 시스템을 구축하기로 결정했습니다.
애플리케이션 서버 내에서 SQS에 알림 메시지를 전송하고, EC2 알림 서버가 이 메시지를 소비하여 최종적으로 사용자에게 알림을 발송하게 됩니다.
이 방식을 통해 서버의 부하를 줄이고 비용을 절감하면서 각 서버의 책임을 명확히 분리시킬 수 있었습니다.
덕분에 지속적인 앱 사용을 유도하는 효율적인 알림 시스템을 구현할 수 있었습니다.