본문 바로가기

패스트캠퍼스/50일의 기적 AI 환급반

패스트캠퍼스 환급챌린지 39일차 : 대규모 채팅 플랫폼으로 한 번에 끝내는 실전 대용량 트래픽 커버 완전판 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://fastcampus.info/4n8ztzq

 

 

안녕하세요 :)

오늘은 "50일의 기적 AI 환급반_ 대규모 채팅 플랫폼으로 한 번에 끝내는 실전 대용량 트래픽 커버 완전판 " 챌린지에 도전하는 서른 아홉번째 날입니다.

 

서른 여덟번째 날에는 스프링 부트 JPA 멀티 데이터소스 설정을 사용한 읽기 전용 데이터베이스 설정에 대해 배웠었는데요. 오늘은 과연 어떤 내용들을 배울 수 있을지 공부하고 포스팅 하도록 하겠습니다.

 

 

오늘 학습할 내용의 제목은,

Part 4. 서비스 부하 분산을 위한 분리 시작 >

Ch 4.책임 분리로 진행하는 모놀리틱 서비스 분해와 Nginx 연동 >

04. Docker Compose를 사용한 로컬 Nginx LB 구성

입니다.

 


⚖️ 왜 로드밸런서(LB)가 필요한가?

  • 이번 주제는 로드밸런서(LB) 도입 이유와 구조입니다.
  • 우리는 채팅 서비스 아키텍처에서 Nginx를 리버스 프록시 + LB로 사용합니다. 그 목적은 클라이언트 엔드포인트 단순화와 서버 보안성 강화, 그리고 부하 분산입니다.

 

🗺️ 1. 현재 구조와 변화

 

  • 이전 단계
    • 인증 서버를 분리하면서, 클라이언트는 두 개의 엔드포인트에 각각 접속해야 했음.
    • 개발 및 배포 시, 클라이언트 코드 변경이 빈번하게 발생.
  • LB 도입 후
    • 하나의 엔드포인트만 알면 됨.
    • Nginx가 요청을 받아 적절한 서버로 라우팅.

 

 

🔄 2. 리버스 프록시 vs 포워드 프록시

  • 리버스 프록시
    • 클라이언트에서 들어오는 요청을 서버 내부로 전달.
    • 서버를 외부 네트워크에서 직접 노출하지 않음.
  • 포워드 프록시
    • 내부 서버에서 나가는 요청을 외부로 대신 전달.
    • 위치와 트래픽 방향에 따라 용도가 구분됨.
  • 이번 프로젝트에서는 리버스 프록시로 사용.

 

🔐 3. 보안적 이점

  • 서버가 LB 뒤에 숨겨짐 → 공인 IP 노출 최소화.
  • 내부 서버는 사설 IP로만 통신 가능.
  • 공격 표면이 줄어들어 보안 강화.
  • 방화벽과 LB를 조합해 다단계 방어 가능.

 

🖥️ 4. 클라이언트 편의성

  • 서버 개수가 늘어나도 엔드포인트 변경 불필요.
  • Nginx가 뒤에서 모든 서버로 요청을 라우팅.
  • 배포나 서버 증설 시 클라이언트 수정 비용 절감.

 

⚙️ 5. 부하 분산 기능

  • 라운드 로빈: 순서대로 요청을 분배.
  • 가중치 기반 분산: 부하가 적은 서버에 더 많은 요청 전달.
  • 기본 Nginx만으로는 단순 분산까지만 가능 → 고급 부하 분산은 추가 기능/유료 버전 필요.

 

📉 6. 단점과 고려사항

  • 네트워크 홉이 한 번 더 생겨 약간의 지연 가능성.
  • 하지만 Nginx 성능 상 대부분 무시 가능한 수준.
  • 고급 부하 모니터링은 별도 솔루션 필요.

 

📊 7. 정리

  • 로드밸런서는 단순 트래픽 분배 도구가 아닙니다. 보안, 확장성, 운영 효율성을 동시에 제공하는 핵심 인프라 구성 요소입니다.
  • 특히 클라이언트 엔드포인트 추상화 기능은 개발 생산성에 큰 영향을 줍니다.

 

  • 로드밸런서를 도입하면 "트래픽 분산" 만 생각하기 쉽지만, 실제로는 아키텍처의 유연성과 안정성을 높이는 핵심 장치입니다.
  • LB가 있으면 서버 증설, 장애 복구, 무중단 배포가 훨씬 쉬워지고, 개발팀과 운영팀 모두 더 안전하고 편리하게 서비스를 운영할 수 있습니다.