이전에서 공부한 것 처럼 네트워크 Proxy 중 Reverse Proxy는 로드밸런싱을 해주는 서버였다. 그렇다면 로드밸런서는 무엇일까?!
💡이전 챕터: Proxy 개념 공부하고 올 사람은 요기 Click!
[사전적 정의]
부하분산 또는 로드 밸런싱(load balancing)은
컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다.
-즉, 클라이언트의 요청이 들어왔을 시 한 서버가 처리하기에는 많기 때문에 이 요청 작업을 여러 곳으로 분산시켜주는 것을 의미한다.
1. 로드밸런서는 왜 생겼지?
우리는 클라이언트가 1,2명 밖에 없어!
사용자가 별로 없을 때는 로드밸런서의 기능이 사실 의미가 없다. 왜냐면 한 대 서버가 이미 여유롭게 원하는 결과를 응답해 줄 수 있기 때문이다.
우리는 대용량 트래픽이 발생하는 곳이야!
서버는 모든 클라이언트에게 응답을 해주고 싶지만 한번에 많은 요청을 처리하기에는 부담이 생기고, 이럴 경우 극단적으로는 서버가 다운될 수 있다.
위 전자와 같이 요청이 없을 경우 문제가 없겠지만..
후자와 같이 사용자가 많을 경우 요청을 처리하기 위해 2가지의 방법이 생겼다.
2. SCALE-UP 과 SCALE-OUT
scale-up
서버 성능을 높여보자! 하드웨어 성능이 더 좋은 걸 쓰면 이전보다 많은 요청을 처리할 수 있으니까 1차적으로 scale-up을 통해 많은 사용자의 요청 문제를 해결
❔하지만 너무 감사하게도 사용자가 이전보다 훠~~월씬 많아지게 된다면?
하드웨어 성능을 높이는 것에는 한계가 있다.
그래서 나오게 된 방법이 아래 'scale-out'이다.
scale-out
서버 한대에서 최소 두대 이상, 여러대의 서버를 추가하는 방법이다.
위의 scale-out 방식으로 증설된 서버로 클라이언트의 요청을 균등하게 분산해주는 방법
❔더 추가하자!
참고자료