로드: 서버가 받는 트래픽(부하)
로드 밸런싱: 트래픽을 밸런싱해서 서버에게 분산시키는 것
로드 밸런서: 로드 밸런싱하는 모듈
서버 자체의 퍼포먼스를 늘리는 방법
❗️ 계속해서 늘려도 기술의 한계가 있다.
서버를 여러 대 분산시키는 방법 (분산 시스템)
⏩️ 여기서 로드밸런싱이 필요하다.
클라이언트 -- 로드밸런서 --> 서버 여러대
요청을 첫번째부터 순차적으로 보내기를 반복하는 방식
트래픽을 모든 서버가 골고루 가져간다.
요청을 로드 밸런서가 랜덤으로 보내는 방식
한 서버만 보내면 과부하가 걸리겠지만 실제로는 모든 서버에게 간다.
서버에서 로드밸런서에게 상태를 알려주고 그에 따라 요청을 보내는 방식
➕
분산시스템을 구축할 때 모든 서버의 스펙이 같지 않을 수 있기 때문에 성능 차이를 고려해 요청을 전달할 수 있다.
로드 밸런서가 하나만 있으면 SPOF가 발생할 수 있기 때문에 scale-out 할 필요가 있다.
SPOF: Single Point of Faliure...