• 여러 대의 컴퓨터가 네트워크를 통해 하나의 시스템처럼 동작하는 시스템
  • 각 노드는 독립적으로 동작하면서도, 시스템 전체적으로는 하나의 일관된 서비스처럼 보이도록 협력
    • 확장성 : 트래픽이 증가해도 여러 서버를 추가하여 부하를 분산
    • 성능 향상 : 작업을 여러 노드에 분산 처리하여 시스템의 성능을 극대화
    • 가용성 : 여러 노드에 걸쳐 시스템이 구성되어 있어 일부 노드가 장애를 겪더라도 시스템은 계속 운영될 수 있음

 

구성 요소

  • 노드
    • 분산 시스템의 기본 단위
    • 각 노드는 독립적인 컴퓨터로서, 역할에 따라 데이터 저장, 처리, 요청 관리 담당
  • 네트워크
    • 분산 시스템 내의 노드 간 통신을 담당
    • 노드 간 데이터 전송과 상호작용을 관리, 네트워크의 성능이 분산 시스템의 성능에 큰 영향을 미침
  • 데이터 복제 및 분산
    • 데이터를 여러 노드에 복제하여 저장함으로써 가용성과 내결함성을 보장
    • 데이터가 분산되어 저장되면, 하나의 노드에 문제가 발생해도 다른 노드에서 데이터를 제공

주요 원리

  • 데이터 일관성
    • 모든 노드가 동일한 데이터 상태를 유지하는 능력
    • 하나의 노드에서 데이터가 업데이트되면, 다른 노드도 동일한 데이터를 가지게 됨
    • 금융 거래, 주문 시스템
      • 네트워크 지연이나 장애가 발생하면 데이터가 비동기적으로 처리되면서 동기화 문제가 생길 수 있음
  • 가용성
    • 시스템이 항상 사용자 요청에 응답할 수 있는 능력
    • 하나 이상의 노드가 다운되더라도, 분산 시스템은 여전히 정상적으로 운영 될 수 있어야함
    • 소셜 미디어, 스트리밍같은 빠른 피드백 요구
  • 내결함성
    • 시스템이 일부 노드의 장애에도 불구하고 서비스를 지속할 수 있는 능력
    • 데이터 복제 및 분산, 장애 발생 시 자동 복구를 통해 내결함성을 확보
    • 그냥 필수

CAP 이론

  • 일관성C, 가용성 Availability, 파티션 내성 Parti 이 세가지를 동시에 만족시킬 수 없다는 이론, 3개 중 2개만이라도 만족해라
    • 설계
      • 일관성 중시 시스템 : 금융 거래 시스템
        • 모든 거래가 일관성을 보장해야하므로 가용성보단 일관성
        • 네트워크 분할 발새앻도 데이터의 정확성이 우선시
      • 가용성 중시 시스템 : 소셜미디어, 스트리밍 서비스
        • 빠른 응답이 필수적이므로 일관성을 희생하더라도 가용성과 네트워크 파티션 내성 유지 우선
        • 사용자는 약간의 일관성 문제를 느끼지 못하지만 빠른 서비스가 중요하게 작용

 

장애 대응

  • 분산 시스템에서는 노드가 장애를 겪더라도 전체 시스템이 무중단 운영을 유지하는 것이 중요 (하나 장애인데 전체 시스템 중단될 수 있음)
  • 노드 장애나 네트워크 장애가 발생했을때 데이터 손실이나 서비스 중단을 방지할 수 있어야함
    • 고려사항
      • 데이터 복제 : 여러 노드에 데이터 복제
      • Failover : 장애 발생시 백업 노드로 트래픽 전환
      • 재해 복구 : 치명적인 장애가 발생해도 복구할수있는 계획 수립

네트워크 대역폭

  • 분산 시스템에서 노드 간의 데이터 전송 속도는 시스템 성능에 중요한 영향을 미침
  • 데이터가 자주 전송되거나 동기화되어야하는 시스템에서 네트워크 대역폭이 부족하면 성능저하
  • 네트웤 성능이 느리면, 분산 시스템에서 데이터 일관성 유지나 장애 복구에 문제가 생길수 있음
    • 고려 사항
      • 네트워크 최적화 : 데이터 전송량 최소화 (압축)
      • 지연 : 저장시 지역성 고려
      • 캐싱 : 트래픽 줄이기위한 캐싱 전략

 

'Backend' 카테고리의 다른 글

Redis 개념  (0) 2025.02.09
시스템 확장  (0) 2025.02.08
대규모 트래픽 처리  (0) 2025.02.03
비동기 처리 시스템의 이해  (2) 2025.02.02
동시성 및 비동기 처리 개념  (0) 2025.02.01

+ Recent posts