학습목표
이 글에서는 분산 시스템 설계에서 필수적으로 고려해야할 요소인 데이터 일관성, 장애 대응, 네트워크 대역폭의 개념과 이를 실제로 적용한 Netflix와 Amazon의 사례를 통해 실전 설계 전략을 수집합니다.
들어가기 전..
📝 대규모 트래픽 처리 전략 설계 원리를 먼저 이해해두면 도움이 됩니다.
[대규모트래픽 이론] #4.1 분산 시스템의 구성 요소와 기본 원리
학습목표 이 글에서는 분산 시스템의 구성과 CAP 이론을 중심으로, 대규모 트래픽 처리 전략의 설계 원리를 살펴봅니다. 들어가기 전.. 대규모 트래픽 처리 사례 복습하기 [대규모트래픽 이론] #3.
dev-rosiepoise.tistory.com
1. 분산 시스템 설계 시 고려해야 할 주요 요소
1.1 데이터 일관성 (Data Consistency)
- 네트워크 지연이나 장애가 발생하면, 데이터가 비동기적으로 처리되면서 동기화 문제 발생 가능성
- 고려사항
- 강력한 일관성(Strong Consistency) vs 최종 일관성 (Eventually Consistent)
- 어떤 시스템에서는 데이터의 강한 일관성을 보장해야하고, 다른 시스템에서는 약간의 지연을 허용하며 가용성을 높이는 방향을 선택할 수 있음
1.2 장애 대응 (Fault Tolerance)
- 분산 시스템에서 노드가 장애를 겪더라도 전체 시스템이 무중단 운영을 유지하는 것이 중요
- 장애에 대비한 대비책이 잘 설계되지 않으면, 일부 노드의 장애가 전체 시스템 중단으로 이어질 수 있음
- 노드 장애나 네트워크 장애가 발생했을 때 데이터 손실이나 서비스 중단을 방지할 수 있어야 함
- 고려사항
- 데이터 복제 : 여러 노드에 데이터를 복제
- Failover : 장애가 발생하면 자동으로 백업 노드로 트래픽을 전환
- 재해 복구 (Disaster Recovery) : 시스템에 치명적인 장애가 발생해도, 빠르게 복구할 수 있는 재해 복구 계획
1.3 네트워크 대역폭
- 분산 시스템에서 노드 간의 데이터 전송 속도는 시스템 성능에 중요한 영향을 미침
- 데이터가 자주 전송되거나 동기화되어야 하는 시스템에서 네트워크 대역폭이 부족하면 성능저하가 발생할 수 있음
- 네트워크 성능이 느리면, 분산 시스템에서 데이터 일관성 유지나 장애 복구 문제가 생길 수 있음
- 고려사항
- 네트워크 최적화 : 데이터 전송량을 최소화 (압축)
- 지연 (Latency) : 데이터 저장 시 지역성 고려
- 캐싱 (Caching) : 네트워크 트래픽을 줄이기 위해 캐싱 전략 활용
2. 분산 시스템 사례
2.1 Netflix, 스트리밍 서비스 운영을 위한 분산 시스템 설계
전 세계 사용자에게 동시 스트리밍을 제공하기 위해, 분산 시스템 아키텍처를 사용하여 대규모 트래픽을 안정적으로 처리
- 데이터 일관성
- 최종 일관성 (Eventually Consistency)을 적용하여 빠른 응답을 보장
- 데이터가 즉시 동기화되지 않더라도, 사용자 경험에 영향을 주지 않음
- 장애 대응 전략
- Chaos Monkey로 고의적인 서버 장애를 발생시켜 복구 능력을 테스트
- 다중 리전 데이터 복제로 특정 리전 장애 시에도 서비스 유지
- 네트워크 대역폭 처리
- CDN을 통해 글로벌 분산 콘텐츠 제공
- 캐싱 기술로 자주 요청되는 콘텐츠를 미리 저장해 빠른 스트리밍 제공
2.2 Amazon, 글로벌 운영을 위한 분산 처리 시스템 설계
수백만 명의 동시 접속을 처리하기 위해 대규모 분산 시스템을 구축하여 확장성과 성능을 극대화
- 데이터 일관성
- 강력한 일관성(Strong Consistency) : 결제, 주문 시스템
- 최종 일관성 (Eventually Consistency) : 추천 시스템
- 장애 대응 전략
- DynamoDB를 통한 데이터 복제 및 분산 저장으로 빠른 복구 가능
- Auto Scaling으로 트래픽 증가 시 자동 확장
- Failover로 장애 발생 시 백업 시스템으로 트래픽 자동 전환
- 네트워크 대역폭 관리
- 글로벌 네트워크에 데이터 분산 저장, 지리적 근접성 활용
- 캐싱 전략으로 데이터베이스와 서버 간 네트워크 요청 최소화
정리
- 분산 시스템을 설계할 때는 1.데이터 일관성, 2.장애 대응 능력, 3.네트워크 대역 폭을 고려해야함
- 이 세가지 요소는 시스템의 성능과 안정성에 큰 영향을 미치며, 시스템의 특성과 요구사항에 맞게 균형있는 설계 필요
대용량 시스템 기술 등장의 근본 이론..!!!!
데이터 일관성 => 동시성, 비동기화장애대응 능력 => 데이터 복제, 분산능력 => 레디스, 카프카네트워크 대역폭 => 캐싱 전략, CDN => 레디스, 카프카 등...
참고, 강의 및 chatgpt
1티어 패션 커머스의 세일 도메인 프로젝트로 배우는 대규모 트래픽을 견디는 실전 백엔드의 모
실전 대용량 트래픽 처리의 모든 것! 대규모 시스템 설계부터 기능 구현, 테스트까지!
fastcampus.co.kr
'대용량 시스템 > 01. 대규모 트래픽 이론' 카테고리의 다른 글
| [대규모트래픽 이론] #4.1 분산 시스템의 구성 요소와 기본 원리 (1) | 2025.07.01 |
|---|---|
| [대규모트래픽 이론] #3.2 대규모 트래픽 처리 사례 (1) | 2025.06.28 |
| [대규모트래픽 이론] #3.1 대규모 트래픽 처리 개요 (0) | 2025.04.06 |
| [대규모트래픽 이론] #2.3 비동기 처리 시스템의 장단점 및 사례 (0) | 2025.04.06 |
| [대규모트래픽 이론] #2.2 비동기 메시징 시스템 이해 (0) | 2025.03.30 |