• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

로드 밸런싱 관련 질문

23.12.23 18:46 작성 23.12.23 22:19 수정 조회수 160

1

안녕하세요! 강사님 로드 밸런싱 & 서버 관련 질문드립니다.

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

현재 저는 섹션 2 API Gateway Service 까지 강의를 진행한 상태입니다.

 

  1. 현업에서는 해당 강의에서 나와있는 것처럼 어플리케이션 단에서의 로드 밸런싱 구현을 많이 하나요?

  2. 아니라면 현업에서는 어떠한 방법으로 자주 사용하여 구현을 하나요?

     

  3. 어떤 상황에서 어플리케이션 단에서의 로드 밸런싱 구현을 하나요?

  4. 트래픽 분산을 목적으로 로드 밸런싱을 사용하기 위해 여러 개의 어플리케이션 인스턴스들을 서버에 올린다고 하였을 때 현업에서는 어떻게 관리하나요? AWS EC2 기준으로 설명해주시면 좋을 것 같습니다!

 

읽어주셔서 감사합니다(__)

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.25

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

kjww9807님, 마이크로서비스 및 로드 밸런싱에 대한 질문을 주셨군요.

  1. 현업에서 어플리케이션 단에서의 로드 밸런싱 구현

    • 현업에서는 API Gateway나 클라우드 서비스의 내장된 로드 밸런서를 사용하는 것이 일반적입니다. 이렇게 함으로써 복잡도를 감소시키고, 유지보수성을 높일 수 있습니다. Spring Cloud와 같은 프레임워크를 사용할 때에도 이러한 패턴을 따르는 경우가 많습니다.
  2. 현업에서의 로드 밸런싱 방법

    • 현업에서 로드 밸런싱은 주로 하드웨어 기반의 로드 밸런서, Nginx나 HAProxy와 같은 소프트웨어 기반의 로드 밸런서 또는 AWS ELB와 같은 클라우드에서 제공하는 로드 밸런싱 서비스를 사용합니다.
  3. 어플리케이션 단에서 로드 밸런싱 구현의 상황

    • 어플리케이션 단에서 로드 밸런싱을 구현하는 경우는 클라이언트가 직접 개별 서비스의 인스턴스에 연결되어야 하는 특수한 시나리오에서 발생할 수 있습니다. 또한 동적으로 스케일링되는 인스턴스에 대한 건강 점검 및 서비스 발견 기능을 어플리케이션 수준에서 제어하고자 할 때 사용될 수 있습니다.
  4. 트래픽 분산 및 관리(AWS EC2)

    • AWS에서는 EC2 인스턴스를 사용하여 어플리케이션 인스턴스들을 관리합니다. 로드 밸런서(AWS ELB)를 설정하여 트래픽을 여러 EC2 인스턴스에 분산시킬 수 있으며, Auto Scaling을 사용하여 트래픽의 증가에 따라 자동으로 인스턴스 수를 조정할 수 있습니다. 또한, AWS CloudFormation이나 AWS Elastic Beanstalk 같은 서비스를 사용하여 배포 및 관리 자동화를 구현할 수 있습니다.

참고로 AWS Elastic Beanstalk에 대한 자세한 내용은 스프링 부트 공식 문서에서도 다루고 있습니다. 해당 내용은 아래 링크를 통해 확인하실 수 있습니다.

Spring Boot AWS Elastic Beanstalk 예시 블로그 포스트

Spring Boot 문서의 AWS 배포 섹션

답변이 도움이 되기를 바랍니다. 추가 질문이 있으시다면 언제든지 질문해 주세요!