100일 코딩 도전 11일차: CAP 이론 & 로드 밸런싱 핵심 정리
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

100일 코딩 도전! 11일차

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

시스템 설계

대상자

  • 초보 개발자 및 중급 개발자
  • 분산 시스템 설계에 관심 있는 개발자
  • 중간 난이도의 기술 개념 이해를 원하는 학습자

핵심 요약

  • CAP 정리일관성(Consistency), 가용성(Availability), 분할 내성(Partition Tolerance) 간의 트레이드오프를 설명한다.
  • 강일관성최종일관성 모델은 실시간 협업 앱(예: Google Docs)의 데이터 동기화 전략을 이해하는 데 핵심이다.
  • 로드 밸런싱(Round Robin, Least Connections)은 서버 과부하 방지서비스 가용성을 보장하는 분산 시스템 설계 핵심 기술이다.

섹션별 세부 요약

1. CAP 정리

  • CAP 정리는 분산 시스템에서 3가지 속성(일관성, 가용성, 분할 내성) 중 2가지만 동시에 보장할 수 있음을 명시한다.
  • 데이터베이스 설계에서 일관성 vs. 가용성의 선택은 시스템 목적에 따라 달라진다. 예: 뱅킹 시스템은 일관성을, SNS 플랫폼은 가용성을 우선시.
  • 실제 사례AWS DynamoDBCAP 정리에 기반한 하이브리드 접근 방식을 사용.

2. 일관성 모델

  • 강일관성(Strong Consistency)은 모든 노드에서 동시에 동일한 데이터를 보장하지만, 성능 저하 가능.
  • 최종일관성(Eventual Consistency)은 일시적인 불일치를 허용하지만 최종적으로 동기화되며, 스케일링 효율성이 높음.
  • WhatsApp 같은 앱은 최종일관성을 통해 대규모 사용자실시간 메시지 전송을 실현.

3. 로드 밸런싱

  • Round Robin 알고리즘은 트래픽을 순차적으로 분배하여 서버 균형을 유지.
  • Least Connections현재 연결 수가 적은 서버에 요청을 할당, 성능 최적화 가능.
  • Health Check 기능을 통해 장애 발생 시 자동 대체되어 서비스 중단 방지.

결론

  • CAP 정리, 일관성 모델, 로드 밸런싱분산 시스템 설계핵심 원칙으로, 실제 시스템에서 트레이드오프를 고려해 적용 전략을 수립해야 함.
  • 실습 예제KubernetesService 객체LoadBalancer 설정을 통해 로드 밸런싱 구현을 실습해보는 것을 추천.