2020. 8. 27. 21:05 Network
load balancing
로드 밸런싱이란 기본적으로 부하를 분산하는 것을 말한다.
로드밸런서의 종류는 크게 두가지로 나뉜다.
. 운영체제 로드 밸런서
-> 물리적인 프로세서간에 작업을 스케줄링을 통해서 분산 시킨다.
-> ex : 멀티코어 프로세서
. 네트워크 로드 밸런서
-> 백엔드에서 네트워크 작업을 스케줄링을 통해 분산 시킨다.
네트워크 로드 밸런서
. L2
-> Mac 주소를 바탕으로 로드 밸런싱하는 방법
. L3
-> IP 주소를 바탕으로 로드 밸런싱하는 방법
. L4
-> 전송계층에서 로드 밸런싱하는 방법
-> port 기반으로 스위칭을 지원하며 주로 라운드 로빈 방식을 사용한다.
. L7
-> 응용 계층에서 로드밸런싱을 하는 방법
load balancing 알고리즘
. round robin
. least connection
. weighted least connections
. faster response time
. adaptive
. fiexed, hashing 등등 여러 알고리즘이 존재.
Round robin (순차 방식)
. 요청의 순서대로 각 서버에 균등하게 분배하는 방식
. 서버 connection 수나 응답시간에 상관없이 모든 서버를 동일하게 처리한다.
. 타 알고리즘에 비해 단순하여 속도가 가장 빠르다.
Least connecntion (최소 접속 방식)
. 서버에 연결되어 있는 Connection 개수만 갖고 단순 비교하여 가장 적은 곳에 연결해준다.
Weighted Least Connections (가중치 최소 접속 방식)
. 각 서버별 가중치를 정하고 가중치 대비 Connection 이 가장 적은곳에 연결해준다.
Fastest Response Time (응답 우선 방식)
. 가장 빨리 응답하는 서버에 연결해준다.
Adaptive (최소 대기 방식)
. Open 또는 Pending 상태인 Connection을 적게 지닌 서버로 연결시켜준다.
로드밸런서란?(L4, L7)
서버 부하 분산을 위해 로드밸런서를 이용한다. 근래들어 L7을 많이 이용하고 이전에 많이 사용하던 장치는 L4였다. 추상적으로만 알고 있던 L7과 L4에 대해 정리를 해보았다.
medium.com
https://nesoy.github.io/articles/2018-06/Load-Balancer
로드 밸런서(Load Balancer)란?
nesoy.github.io
ps : 위 두 출처에 다른 포스팅도 유용하니 추후에 공부 더 할 것.
'Network' 카테고리의 다른 글
HTTP Protocol (0) | 2021.06.20 |
---|---|
OSI 7계층과 TCP/IP 4 계층 (0) | 2021.06.20 |
OSI 7계층와 TCP/IP 4 계층 (0) | 2020.08.27 |
Thrift에 대해서 [C# 한정] (0) | 2020.01.10 |
RabbitMQ에 대해서 (0) | 2019.07.21 |