현대의 모든 정보는 인터넷을 통해 연결되어 있다. 인터넷의 발달은 데이터 통신을 활발하게 만들고 이는 트래픽의 폭발적인 증가로 이어졌다.
[ NHN CLOUD BALANCER ]
- 네트워크나 서버에 가해지는 부하( Load )를 분산 해주는 기술
- CPU 혹은 HDD,SDD등 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것
서비스 초기에는 클라이언트의 수가 적어 트래픽량이 많지 않기때문에 서버 한대로 요청에 응답하는게 가능하지만 추후 사업 규모가 커짐에 따라 한대의 서버로는 불가능하게 된다.
이 증가한 트래픽에 대처 할 수 있는 방법은 크게 2가지 이다.
- Scale-up
- Scale-out
Scale-up
: 서버 자체의 성능을 확장하는 것
Scale-out
: 서버를 여러개 증설하는 것
만약 Scale-out 방식으로 서버를 증설하기로 결정했다면
=> 트래픽을 균등하게 분산해주기 위해서는 로드밸런싱이 반드시 필요!
- 로드밸런서는 서버에 가해지는 부하( Load )를 분산( Balancing )해주는 장치 또는 기술을 통칭함
- 로드 밸런서는 하드웨어 장비인 L4 스위치의 일부 기능을 제공하는 서비스 => 가용성 증가, 부하 분산
- Health Check ( PORT로 체크 )
- 알고리즘에 따른 분산 처리
- NAT
- DSR ( 단순화 => 트래픽 관리 이점 )
매핑되어 있는 커넥션이 가장 적은 서버로 세션을 연결해주는 방식
들어오는 트래픽을 순서대로 배치하는 방식
연결된 세션이 비교적 오래 사용되지 않는 경우 채택
Hash 알고리즘
특정 기준을 잡아 특정 서버에 매핑하여 고정적으로 트래픽을 분산해주는 방식
일반적으로 사용되는 기준은 출발지의 IP