Post

[네트워크] 안정성을 위한 기술

가용성

  • 특정 기능을 언제든 균일한 성능으로 수행할 수 있는 특성으로 안정성을 수치화 한다
  • 네트워크를 포함한 컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율
  • 목표는 99.999% (파이브 나인스)
  • 결함 감내
    • 문제가 발생하더라도 기능할 수 있는 능력

가용성의 수치화

  • 가용성 수치가 크다는 것은 전체 사용 시간 중에서 대부분을 사용 하능하다는 말
    • 가용성이 높다 라고 함 (HA, High Availability)
  • 업타입 (uptime) : 정상적인 사용시간
  • 다운타임 (downtime) : 비정상 사용시간
  • 가용성 = 업타임 / (업타임 + 다운타임)

이중화와 다중화

이중화

  • 결함을 감내하여 가용성을 높이기 위한 기술
  • 백업을 마렵하는 방법

다중화

  • 이중화 기술의 확장 형태
  • 보다 안정적인 운영이 가능

이중화 기술

  • 단일 장애점 (SPOF - Single Point of Failure)
    • 문제가 발생할 경우 시스템 전체가 중단될 수 있는 대상
    • SPOF는 가능한 없애는 것이 좋으며, 가용성을 높이기 위해 이중화 하는 것이 좋다
  • 구성 방식
    • 엑티브/스텐바이
      • Active : 가동 상태
      • Standby : 백업으로 대기
      • 안전한 구성방식이나, 하나의 장비를 사용할 때에 비해 성능상의 변화를 기대하기는 어렵다
    • 엑티브/엑티브
      • 두 시스템 모두 가동 상태로 두는 이중화 구성 방식
      • 부하 분산 및 성능상의 이점도 기대할 수 있다
      • 하나의 시스템에 문제가 발생할 경우 순간적으로 다른 시스템에 부하 급증해 추가적인 장애 발생 가능

로드 밸런싱

로드 밸런싱이란?

  • 트레픽을 고르게 분산해야할 필요성에 의해 트레틱을 고르게 분배하여 사용되는 기술
  • 장비
    • L4 및 L7스위치
    • 소프트웨어
      • HAProxy, Envoy 등
      • Nginx도 로드 밸런싱 기능 포함
  • 라운드 로빈 알고리즘 (Round Robin Algorithm)
    • 단순히 서버를 돌아가며 부하를 전달
  • 최소 연결 알고리즘 (Least Connection Algorithm)
    • 연결이 적은 서버부터 우선적으로 부하를 전달
This post is licensed under CC BY 4.0 by the author.