CS/기타

(CS) 네트워크 - 프록시와 안정적인 트래픽

흰색텀블러 2025. 3. 30. 14:07

오리진 서버와 중간 서버 : 포워드 프록시와 리버스 프록시

  • 오리진 서버 : 자원을 생성하고 클라이언트에게 권한이 있는 응답을 보낼 수 있는 HTTP 서버

중간 서버와 오리진 서버 사진

 

 

  • 중간 서버
    • 프록시
      • 포워드 프록시라고도 함 
      • 클라이언트가 선택한 메시지 전달의 대리자.
      • 캐시 저장, 클라이언트 암호화 및 접근 제한 등의 기능 제공
      • 클라이언트와 더 가까이 위치함
    • 게이트 웨이
      • 리버스 프록시라고도 함
      • 오리진 서버들을 향하는 요청 메시지를 먼저 받아서 전달하는 문지기
      • 오리진 서버에 가까이 위치함
      • 캐시를 저장할 수 있으며, 부하를 분산하는 로드밸런서로도 동작 가능

 

고가용성 : 로드 밸런싱과 스케일링

가용성

  • 주어진 특정 기능을 실제로 수행할 수 있는 시간의 비율
  • 고가용성이 필요한 호스트는 서버임
  • 트래픽이 가장 큰 영향을 끼침 → 과도한 트래픽은 발열  및 레이스 컨디션, 메모리 부족  
    • 업타임 : 정상적인 사용시간
    • 다운타임 : 정상적인 사용이 불가능한 시간
    • 고가용성 : 업타입은 높고, 다운타임은 낮고! 즉, 전체 사용시간중 대부분을 사용할 수 있는 특성
      • 고가용성 유지의 핵심 : 문제가 발생하더라도 계속 기능할 수 있도록 설계하는 것 → 결함 감내 
        • 동작하는 시스템에 문제가 생길시, 예비 시스템으로 자동 전환되는 기능 : 페일오버(failover)
      • 결함 감내를 하기 위한 기술 == 다중화

 

 

로드 밸런싱

  • 트래픽의 고른 분배를 위해 사용되는 기술
  • 모든 서버의 성능이 동일하다는 전제가 없기때문에, 서버에 가중치를 줄 수 있음!
  • 로드 밸런서(load balancer)에 의해 수행
    • 다중화된 서버와 클라이언트 사이에 위치하며 클라이언트의 요청을 각 서버에 균등하게 분배하는 역할
  • 로드 밸런싱 알고리즘
    • 부하가 균등하게 분산되도록 요청을 전달할 서버를 선택하는 방법
      • 라운드 로빈 알고리즘 : 단순히 서버를 돌아가며 부하를 전달
      • 최소 연결 알고리즘 : 연결이 적은 서버부터 우선적으로 부하 전달

 

스케일링 : 스케일 업 스케일 아웃 오토스케일링

  • 스케일 업
    • 기존 부품을 더 나은 사양으로 교체하는 방법
    • 수직적 확장
  • 스케일 아웃
    • 기존 부품을 여러개 두는 방법
    • 수평적 확장