-
[aws summit seoul 2023] 삼성전자/쿠팡의 대규모 트래픽 처리를 위한 클라우드 네이티브 데이터베이스 활용AWS 2024. 3. 4. 21:04
aws summit seoul 2023 에서 발표된 삼성전자/쿠팡의 대규모 트래픽 처리를 위한 클라우드 네이티브 데이터베이스 활용 영상을 보고 정리한 내용입니다.
- auroradba, elastic cache 를 활용한 사례
- 현대 애플리케이션의 특징
-
시스템이 매우 복잡하고 사용자도 많다.
-
애플리케이션과 스토리지가 디커플링 되어 있음
-
rest api 로만 처리하지 않고 graphQL이라던가 하나의 엔드포인트로 여러 데이터베이스의 접근 권한을 별도로 가져갈 수 있음
-
- 목적에 맞는 데이터베이스
-
데이터베이스 선택 시 고려 요소
-
애플리케이션 워크로드
-
데이터의 형태
-
애플리케이션 성능 요구사항
-
운영 부담
-
삼성전자 사례
-
국내 이동통신 3사와 함께 런칭 (SMS, LMS)
-
인터넷망 보급하면서 RCS 표준에 따라 설계/구현 - 그룹 메세지, 파일전송, 챗봇 플랫폼 등 기능
-
31,000,000 사용자 (3년 사이에 5배 정도 가입자 증가 / 삼성폰에 내장앱으로 제공, 폰 판매량이 늘면 사용자도 늘어남)
-
49,000,000 개인 메시지 / 일
-
38,000,000 기업 메시지 / 일
-
-
RCS 1.0 : on-premise -> AWS 로 Lift and shift 로 마이그레이션
- HSS (가입자 연결 정보 처리 모듈) 성능에 따라 클러스터마다 약 백만 가입자 정도 처리 - 10개~20개 정도 클러스터 필요 (650만 가입자 대상)
-
RCS 2.0 : MSA 로 재설계
-
마이크로 서비스와 데이터 의존성을 분리하는 것을 목표로 함 (stateless)
-
shared repository architecture style
-
여러 클러스터에 나누어 처리되던 데이터를 하나의 데이터 제공자 서비스에서 제공해야 하기 때문에 빠른 응답 속도와 같은 품질 보장 필요
-
서비스 별로 동일한 데이터를 제공할 수 있도록 정합성 품질 보장도 필요
-
정합성과 성능은 트레이드 오프되는 경우가 많음
-
-
-
챗봇 브랜드 정보 제공 서비스
-
카드 결제 메세지 등
-
매우 많은 읽기, 매우 적은 쓰기
-
변경이 적은 데이터를 클라이언트가 Polling 하는 시스템
-
aurora 와 같은 rdb 를 고려했으나 성능을 만족할 수 없었음 -> ElastiCache 고려하게 됨
-
읽기 성능 극대화 가능하나 정합성 손실은 감수해야 함
-
ElastiCache 의 key event 구독을 활용할 수 있음 -> 특정 데이터가 변경되었다는 것을 전파 -> 캐시 갱신
-
정합성 파괴 시간을 예측할 수 있어야 함
-
-
-
-
가입자 연결 정보 제공 서비스
-
이동통신단말의 잦은 주소 변경 정형 데이터
-
클라이언트 소스 ip 와 같은 연결 정보를 최신화으로 유지해야 함 -> 소스 Ip 변경을 반영하지 못하면 a 에게 전달되어야 하는 메세지가 b 에게 전달될 수도 있음
-
dynamoDB - strong consistency read 옵션 제공, aurora 와 같은 RDB 는 정보제공 서비스 내에서 consistency lock 을 구현하는 방법으로 정합성 획득 -> 성능 품질 저하 감수해야 함
-
dynamoDB - strong consistent read, ElastiCache - consistency lock, auroradb - consistency lock 기능을 활용하여 성능과 정합성을 만족하는 shared repository 설계 가능
-
적용 효과
-
개인 메시지 5배, 기업 메시지 10배 성능 향상
-
비용 30% 절감
-
장애 발생율 13% 개선
-
-
쿠팡 사례
-
30개 지역 100여개 물류센터, 약 1800만명 회원 대상 서비스
-
하나의 노드가 수용할 수 있는 트래픽은 한정되어 있음
-
마이크로서비스를 적용해도 특정 이벤트가 있을 경우 (ex.물류 센터 증가) 관련한 트래픽이 증가함
- 서비스 내에서 서비스를 더 세분화 하거나 DB 샤딩 적용하여 사용
- 스마트 지원 서비스 개발 조건 (DML, DDL 등의 수동 작업/프로세스를 자동화 한 시스템)
-
신뢰 가능한 메타 정보 제공 - 최신의 데이터를 사용자에게 제공해야 함
-
장애 즉각 대응
- 예측 가능한 장애에 대한 방어 프로세스 - 모니터링, 에러 로그
- 커뮤니케이션 최소화
- DB 표준화, 쉬운 서비스 가이드/Q&A , 에러 패턴 정리
- 서비스 안정화 방법들
-
세션 관리
-
데이터 사이즈 관리
-
쿠팡 자체 개발한 블루/그린 서비스 - 데이터베이스 가용성 확보 목적
-
-
반응형'AWS' 카테고리의 다른 글
[aws summit seoul 2023] Amazon EKS, 중요한 건 꺾이지 않는 안정성 (1) 2024.03.18 [aws summit seoul 2023] 12가지 디자인 패턴으로 알아보는 클라우드 네이티브 마이크로서비스 아키텍처 (0) 2024.03.15 AWS cloudformation , codedeploy 를 활용한 프로비저닝 관리 (0) 2016.08.03 Auto Scaling 사용 관련하여 알아두어야 할 것 2 (0) 2016.08.03 AWS auto scaling 을 사용하기 위해 알아두면 좋을 내용들 (0) 2016.07.17