모
모두싸인
January 27, 20211회
외부 서비스 장애가 전파되지 않게 하기 위한 한 가지 방법

간단 소개
외부 서비스 장애 전파 방지를 위해 AWS 람다를 이용, 이메일 전송 로직을 분리하여 안정성을 확보한 사례를 소개한다.
AI Summary
- 이메일 전송 문제와 해결 시도
- 모두싸인은 계약 과정에서 이메일을 중요하게 사용하며, 센드그리드를 통해 이메일을 전송한다.
- 서비스 성장으로 센드그리드 API 응답 시간 지연 문제가 발생, 알림 서비스에 전파되었다.
- 이메일 서비스 교체 고려: AWS SES 등 후보군 검토, 운영팀의 검색 기능 때문에 기존 서비스 유지 결정.
- SNS와 Lambda를 이용한 해결책
- 람다를 통해 이메일 전송 로직 분리, SNS 메시지를 통해 비동기적으로 요청 처리.
- 람다는 동시 요청 처리 능력이 뛰어나고, 장애 발생 시 재시도 기능이 있어 안정적이다.
- 알림 서비스는 이메일 구성 데이터를 메시지로 발행, 람다에서 실제 이메일 전송을 담당한다.
- 결론 및 제언
- 마이크로서비스 아키텍처에서 외부 서비스 장애가 다른 서비스에 전파되지 않도록 주의해야 한다.
- AWS 람다를 이용하여 장애 지점을 분리하는 방식을 적용, 이메일 전송 지연에 대한 사용자 불편을 최소화했다.
- 유사한 케이스에 람다를 이용한 로직 분리를 고려해볼 것을 제안한다.
Next Feeds
REST API 초고속 개발?! - Spring Data REST
Spring Data REST와 JPA를 활용하여 REST API를 초고속으로 개발하는 방법과 활용 팁, 그리고 사용 후기를 소개합니다.
Spring Data RESTREST APISpring Data JPAHATEOASRepository
2021. 1. 26.
카카오헤어샵

앱 개발파트의 업무프로세스 수립기
올리브영 앱 개발팀의 업무 프로세스 수립 과정을 담고 있으며, 코딩 컨벤션부터 배포 전략까지 전반적인 내용을 다룬다.
코딩 컨벤션MVVM 패턴시멘틱 버저닝CI/CDBitrise
2021. 1. 23.
올리브영

그리디 알고리즘을 이용한 중복 콘텐츠 클러스터링
그리디 알고리즘을 활용한 중복 콘텐츠 클러스터링 방법론과 버즈빌의 실제 적용 사례, 그리고 향후 개선 방향을 제시합니다.
그리디 알고리즘중복 콘텐츠클러스터링매트릭 트리스트리밍 프로세스
2021. 1. 19.
버즈빌

강화학습으로 더 재미있는 게임 만들기
강화학습을 활용하여 게임 밸런싱을 자동화하고, 유저 경험을 정량적으로 분석하여 게임 개발 및 운영 효율성을 향상시킨 사례를 소개합니다.
강화학습게임 밸런싱PPO퍼즐 게임자동화
2021. 1. 18.
데브시스터즈

두근두근 컬리의 면접, 팀에서 성장하기
컬리 입사 과정과 팀 내 성장 경험을 공유하며, DDD 적용, 기술 공유 문화, 코드 리뷰, 실수 관리 등 개발 문화 강조.
컬리면접DDD코드 리뷰기술 공유
2021. 1. 12.
컬리

ReactNative와 함께하는 서비스 개발부터 배포까지
올리브영 인마이백 앱 개발에 ReactNative를 도입한 배경, 개발 및 배포 전략, 사용 경험을 요약합니다.
ReactNative인마이백CodePush크로스플랫폼올리브영
2021. 1. 5.
올리브영