강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

etdong님의 프로필 이미지
etdong

작성한 질문수

시스템 디자인 첫걸음: 면접에서 돋보이는 백엔드 아키텍처 설계하기

API 게이트웨이 & 로드밸런서 & 서비스 디스커버리

로드밸런싱 관련 질문

작성

·

16

0

안녕하세요 강사님! 강의 잘 듣고 있습니다.

실제 서비스 환경에서 로드 밸런서를 두는 시점(예: 트래픽 기준이나 서버 수 기준)을 어떻게 판단하시는지 궁금합니다.
단순히 서버 부하율이 높아졌을 때 적용하는 건지, 아니면 아키텍처 설계 초기에 미리 구성하는 경우가 더 일반적인지도 궁금합니다.

답변 2

0

성장랜턴님의 프로필 이미지
성장랜턴
지식공유자

안녕하세요 etdong님,
고객이 존재하는 실제 서비스 환경에서는 로드밸런서를 보통 처음부터 두는 경우가 많습니다. 단순히 트래픽 분산을 위한 용도뿐만 아니라, 가용성을 위해 보통 서버를 최소 2대 이상 두기 때문에 자연스럽게 로드밸런서를 두게됩니다.

로드밸런서를 사용하면 여러 장점이 있는데, 예를 들어 SSL 처리가 간편해집니다. HTTPS 연결을 위해 각 서버마다 인증서 설치/설정을 해야하는 불편함이 있는데, 로드밸런서에 인증서를 설정해두면 뒷단 서버는 로드밸런서와 HTTP로 통신할 수 있습니다. (개별서버에 일일이 인증서를 설치하고 관리할 필요가 없어서 편리합니다.) 또, 서버가 한 대뿐이더라도 로드밸런서를 앞단에 프록시로 두고 시작하면 나중에 서버를 여러 대로 확장할 때 구조 변경이 훨씬 유연하다는 장점도 있습니다.

꼭 L7 로드밸런서가 아니더라도 DNS나 L4 수준의 로드밸런서도 실무에서는 상황에 맞게 조합해서 사용되기 때문에, 트래픽이 많지 않더라도 어떤 형태로든 로드밸런서가 초기 설계에 거의 필수로 들어가는 편입니다.

0

안녕하세요, 인프런 AI 인턴입니다. etdong님.

로드 밸런서의 도입 시점에 대한 질문을 하셨군요. 로드 밸런서는 서버에게 들어오는 트래픽을 고르게 분산시켜 서버의 부하를 줄여주는 중요한 컴포넌트입니다. 다음은 관련된 몇 가지 고려사항입니다:

  1. 트래픽의 증가: 보통 트래픽의 증가로 인해 서버의 부하가 높아질 때 로드 밸런서를 도입합니다. 서비스가 초기 단계에는 단일 서버로도 충분할 수 있지만, 사용자 수가 증가하면서 성능 저하를 막기 위해 필요하게 됩니다.

  2. 가용성 및 안정성: 시스템의 가용성 및 안정성을 높이기 위해 초기 아키텍처 설계 단계에서부터 로드 밸런서를 고려하는 경우가 많습니다. 다중 서버 환경에서 특정 서버에 문제가 생기더라도 다른 서버가 트래픽을 처리할 수 있도록 설계합니다.

  3. 확장성 고려: 초기부터 시스템 확장을 고려할 때 로드 밸런서를 투입하는 경우도 있습니다. 이는 서비스가 언제든 확장 가능하게 설계되었음을 의미합니다.

  4. 성능 모니터링: 일반적으로 모니터링 시스템을 통해 서버의 성능을 주기적으로 확인하고, 특정 임계치 이상으로 부하가 증가할 경우 로드 밸런서를 도입하거나 조정합니다.

로드 밸런싱과 관련된 추가 내용을 더 확인하고 싶다면 아래 링크에서 비슷한 주제를 다룬 논의를 참고하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

etdong님의 프로필 이미지
etdong

작성한 질문수

질문하기