Load balancing(로드밸런싱)

June·2022년 1월 7일
0
post-thumbnail

Load balancing이란?

Load balancing(로드밸런싱)은 컴퓨터 네트워크 기술의 일종으로 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원들에게 부하가 일어나지 않도록 여러 서버에 작업을 분산하는 것을 의미한다.

증가 트래픽에 대처할 수 있는 방법
1.Scale up : 서버자체의 성능을 높이는 것.
2. Scale out: 여러대의 서버를 두는 것.

Load Balacer 종류

L2

  • Mac주소를 바탕으로 Load Balancing

L3

  • IP주소를 바탕으로 Load Balancing

L4

  • Transport Layer(IP와 Port) Level에서 Load Balancing
  • TCP, UDP

L7

  • Application Layer (사용자 Request) Level에서 Load Balancing
  • Http, Https, ftp

Load Balacer 가 서버를 선택하는 방식

Round Robin

  • 단순히 round robin으로 분산
  • CPU 스케줄링의 round robin 방식 활용

Least Connection

  • 연결개수가 가장 적은 서버를 선택.

  • 트래픽으로 인해 세션이 길어지는 경우 권장

Source

  • 사용자의 IP를 hashing하여 분배하는 방식

  • 사용자는 항상 같은 서버로 연결되는 것을 보장

Load Balancer 장애대비

  • Load balancer를 이중화 하여 장애를 대비할 수 있다.

참고자료

  1. https://gyoogle.dev/blog/computer-science/network/Load%20Balancing.html
  2. https://cheershennah.tistory.com/176
profile
회사와 “함께” 성장하는 개발자

0개의 댓글