🌱 기초 네트워크
로드 밸런싱(Load Balancing)이란?
쉽게 이해하기
은행에 창구가 5개 있는데 1번 창구에만 손님이 몰리면 대기 시간이 길어지잖아요. 안내 직원이 손님을 골고루 각 창구로 안내하면 모두가 빨리 업무를 볼 수 있어요. 로드 밸런싱도 똑같이 여러 서버 중 여유로운 곳으로 사용자를 안내해주는 역할이에요.
핵심 정리
여러 서버에 트래픽을 골고루 나눠주어 한 곳에 부담이 몰리지 않게 하는 기술이에요.
자세히 알아보기
로드 밸런싱(Load Balancing)은 여러 대의 서버에 네트워크 트래픽이나 작업을 균등하게 분산시키는 기술이에요. 사용자가 많아지면 한 대의 서버로는 감당이 안 되니까, 여러 대를 두고 요청을 나눠서 처리하게 만드는 거죠. 이때 트래픽을 분배해주는 장치나 소프트웨어를 '로드 밸런서'라고 불러요.
왜 필요할까요? 대형 서비스는 동시 접속자가 수만 명씩 되는데, 서버 한 대로는 절대 처리할 수 없어요. 그래서 같은 역할을 하는 서버를 여러 대 준비하고, 로드 밸런서가 사용자 요청을 각 서버로 분산해서 보내요. 이렇게 하면 응답 속도도 빨라지고, 한 서버가 고장 나도 다른 서버로 자동으로 연결되어 서비스가 중단되지 않아요.
분배 방식도 여러 가지예요. 가장 단순한 건 순서대로 돌아가면서 보내는 '라운드 로빈' 방식이고, 서버의 현재 부하를 보고 여유로운 곳으로 보내는 '최소 연결' 방식도 있어요. 사용자의 지역에 따라 가까운 서버로 연결해주는 방식도 있죠.
실제로 Netflix, Amazon, 쿠팡 같은 대규모 서비스는 수천 대의 서버를 운영하면서 로드 밸런서로 트래픽을 관리해요. AWS의 ELB, Nginx, HAProxy 같은 도구가 많이 쓰여요. 소규모 서비스도 트래픽이 늘어나면 로드 밸런싱을 고려하게 되니까, 서비스 확장성을 위한 핵심 기술이에요.