Main Subject
WebAPI ServerASP.NET CoreMain Subject
  • 과제 개요
  • 추가 학습
    • 샤딩 Sharding
    • Scale out / Scale up
    • 로드밸런싱
    • WSL
  • 구현
    • 계정생성
    • 로그인
    • 권한 확인(미들웨어)
    • 공지 등록 및 전송
    • 우편함
    • 출석부
    • 인앱 결제 아이템 지급
    • 강화
    • 던전 스테이지
  • DB 설계
    • MySQL
    • Redis
  • Coding Conventions
  • [회고]
    • 마음가짐
    • 1주차
    • 2주차
    • 3주차
    • 4주차
    • [5주차]
    • 마치며
Powered by GitBook
On this page
  • 의미
  • 장점
  • 게임 서버에서의 로드밸런스 사용
  • 참고문헌
  1. 추가 학습

로드밸런싱

의미

  • 서버가 처리해야할 업무 혹은 요청(Load)을 여러대의 서버로 분산시켜(Balancing) 처리하는 것

  • 서버의 규모가 커지고 Scale-out의 구조가 되었을 때, 특정 서버에만 부하가 집중될 수 있음. 그것을 막기 위해 앞단에서 요청을 받아서 뿌려주는 역할을 하는 서버.

  • 사용자와 서버 그룹 사이에 위치하며 보이지 않는 촉진자 역할을 하여 모든 리소스 서버가 동일하게 사용되도록 하는 디바이스

장점

  • 가용성(availability) - 서버의 문제를 감지하고 대처해줌

    • 애플리케이션 가동 중지 없이 애플리케이션 서버 유지 관리 또는 업그레이드 실행

    • 백업 사이트에 자동 재해 복구 제공

    • 상태 확인을 수행하고 가동 중지를 유발할 수 있는 문제 방지

  • 확장성(scalability) - 여러 서버로 네트워크 트래픽을 보낼 수 있음

    • 한 서버에서 트래픽 병목 현상 방지

    • 필요한 경우 다른 서버를 추가하거나 제거할 수 있도록 애플리케이션 트래픽을 예측

    • 안심하고 조정할 수 있도록 시스템에 중복성을 추가

  • 보안(security)

    • 클라이언트가 서버그룹에 직접적으로 접근 불가

    • 트래픽 모니터링 및 악성 콘텐츠 차단

    • 공격 트래픽을 여러 백엔드 서버로 자동으로 리디렉션하여 영향 최소화

    • 추가 보안을 위해 네트워크 방화벽 그룹을 통해 트래픽 라우팅

  • 성능(performance)

    • 서버 간에 로드를 균등하게 배포하여 애플리케이션 성능 향상

    • 클라이언트 요청을 지리적으로 더 가까운 서버로 리디렉션하여 지연 시간 단축

    • 물리적 및 가상 컴퓨팅 리소스의 신뢰성 및 성능 보장

게임 서버에서의 로드밸런스 사용

  • WebAPI의 게임 서버에서도 로드밸런스를 사용함

  • 클라이언트의 요청은 1차적으로 로드밸런스가 받고, 로드밸런스는 WebAPI서버에 요청을 전달함. WebAPI서버는 로드밸런스에게 응답을 보내고, 로드밸런스는 응답을 클라이언트에게 전달함

  • 많은 트레픽의 부하를 분산시켜줄 수 있음. 로드밸런스는 비교적 단순한 작업만(연결되는 상대에게 값을 보내주는 작업) 하면되기에 더 많은 트레픽을 감당할 수 있음

  • https를 통한 인증은 로드밸런스가 담당하고, WebAPI 서버는 로드밸런스와 http로 통신할 수 있음. https일 때 해야하는 보안 점검을 줄일 수 있어서 WebAPI 서버는 보다 빠른(cpu 사용 5%쯤 절감) 응답을 할 수 있음

참고문헌

PreviousScale out / Scale upNextWSL

Last updated 2 years ago

AWS
stevenjlee
Tecoble