snap architecture on AWS by Snapchat
Snapchat
스냅챗은 유저들과 즉각적인 메시지와 사진 전송과 스토리 기능이있는 미국의 멀티미디어 메신저 앱이다.
전 세계 많은 사람들이 친한 친구들과 빠른 의사소통을 할 수 있도록 하는것이 주 목적
이 때 보내는 하나의 메세지가 Snap 이라고 표현 된다.
스냅을 보내는 일련의 과정에서 각각의 요소들을 오케스트레이션 서비스를 중심으로 동작
전 세계 3억명의 active 사용자들이 보내는 수많은 스냅의 양과 트래픽을 관리하기위해선 효율적인 플로우가 필요
사용자들이 보내는 스냅을 EKS 미디어 클러스터로 전달하고 Cloudfront 로 보내서 S3에 보관한다. 클라우드 프론트의 엣지 기능으로 가까이 있는 사용자에게 필요할때 빨리 가져올 수 있도록 가능하게 한다.
Cloudfront- 정적 및 동적 컨텐츠를 사용자에게 더 빨리 배포하도록 도와주는 서비스
S3 - 확장성,가용성,보안과 성능을 보장하는 정적 파일 스토리지 서비스
MCS 라는 중심 컨테이너 EKS 클러스터로 FriendGraph 클러스터에서 보내는 사람이 받는사람간의 전송 관계를 확인해주고 허락해주는 일련의 과정이 일어난다.
EKS- AWS 에서 관리하는 쿠버네티스 서비스
스냅 전송, 보관 방식 그리고 TTL 같은 서비스를 구현하기위해 자체 SnapDB 를 사용하고 DynamoDB 로 메타데이터인 데이터베이스를 보내 비용절감을 이룰 수 있다.
DynamoDB- 완전 관리형 서버리스로 NoSQL 형식의 데이터 베이스
스냅을 받는과정에선 지연속도를 최소화 하기 위해서 MCS 코어서비스에서 서버 ID 로 Elasticache에 요청하고 기존에 연결된 서버가 있다면 즉각적으로 메세지를 보낼 수 있도록 한다.
Elasticache- 어플리케이션 성능을 높이기 위한 AWS 의 캐싱 서비스
오케스트레이션 서비스의 900 여개의 EKS 클러스터와 지속적인 Autoscaling 과 모니터링으로
높은 스케일링 서비스와 비용절감
refrence - https://www.youtube.com/watch?v=Cgv0kfp_6xQ&t=3s
'Cloud solutions' 카테고리의 다른 글
#007) 리그 오브 레전드 cloud solution (데이터 솔루션 with AWS) (1) | 2022.08.09 |
---|---|
#006) data warehousng cloud solution (데이터 솔루션 with Azure) (0) | 2022.08.07 |
#004) 영화 추천 cloud solution (ML 솔루션 with Azure) (0) | 2022.08.05 |
#003) Samsung health cloud solution (Data 솔루션 with AWS) (0) | 2022.08.03 |
#002) 실시간 사기 탐지 cloud solution (Stream 솔루션 with Azure) (0) | 2022.08.01 |