Back-end/Network
로드 밸런싱이란? Load balancing
cheersHena
2021. 4. 26. 11:16
반응형
로드 밸런싱 Load balancing
로드밸런싱(부하 분산) 은 컴퓨터 네트워크 기술의 일종으로 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원들에게 작업을 분산하는 것을 의미한다.
서버에 가해지는 부하(로드) 를 분산(밸런싱) 해주는 기술이다.
사업의 규모가 확장되고 클라이언트의 수가 증가하게 되면 기존 서버로 정상적인 서비스가 불가하게 되는 경우가 발생하는데, 이러한 증가 트래픽에 대처할 수 있는 방법은
1. Scale up: 서버자체의 성능을 높이는 것.
2. Scale out: 여러대의 서버를 두는 것.
*참고 포스팅
https://cheershennah.tistory.com/270
Scale out 방식은 여러대의 서버로 트래픽을 균등하게 분산하는 로드 밸런싱이 반드시 필요하다.
주요 기능
- NAT(Network Address Translation)
- 사설 IP 주소를 공인 IP 주소로 바꾸는 데 사용하는 통신망의 주소 변조기
- Tunneling
- 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념
- 데이터를 캡슐화해서 연결된 상호 간에만 캡슐화된 패킷을 구별해 캡슐화를 해제할 수 있다.
- DSR(Dynamic Source Routing protocol)
- 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지 주소를 스위치의 IP 주소가 아닌 클라이언트의 IP 주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념
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 Balancer는 어떤 기준으로 Server를 선택하나 ?
Round Robin
- 단순히 round robin으로 분산
Least Connection
- 연결개수가 가장 적은 서버를 선택.
- 트래픽으로 인해 세션이 길어지는 경우 권장
Source
- 사용자의 IP를 hashing하여 분배하는 방식
- 사용자는 항상 같은 서버로 연결되는 것을 보장
Load Balancer 장애대비
- Load balancer를 이중화 하여 장애를 대비할 수 있다.
반응형