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

djsdjdyd123님의 프로필 이미지
djsdjdyd123

작성한 질문수

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

Spring Cloud Config

혹시 강의에서 오토스케일링은 배울수있을까요?

작성

·

94

·

수정됨

0

  • 모든강의를 구매할 예정입니다.

    스프링 강의를 제외하고 구매하고싶습니다만 현재 까지 강의를 들었을때 제가 스프링 서버를 두개를 뛰운다음에 유레카로 로드밸런싱하는것 같은데 필요에따라서(서비스요청이 많아지면)자동적이게 설정한대로 확장하게 만들수 있나요? 이건 젠키스 강의로봐야하나요?
    - 오토스케일링 여부

    또한 하나의 ec2 에 모든 로직을 넣어서 확장하는게 아니라 여려 ec2 에서 스케일링 하는 강의가있나요?
    스프링 배포까지 공부해야할까요?
    -ec2 분산 여부

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요 이도원입니다.

말씀하신 오터스케일링에 대한 부분은 Spring Cloud의 Eureka에서는 서비스별로 CPU 메트릭을 수집하여 스케일링 작업을 해주지는 않습니다. 다만, 스케일링을 위한 별도의 서비스를 추가로 개발하여 작업되도록 구성하실 수 있습니다. (https://www.geeksforgeeks.org/auto-scaling-microservices-with-eureka-and-spring-boot/)

Eureka 대신 Orchestration 도구를 도입하신다면 (K8s, Mesos, Normad 등) 스케줄 관리, 리소스 관리 등을 처리할 수 있습니다. (https://landscape.cncf.io/guide#orchestration-management--scheduling-orchestration)

두번째 질문은, 배포에 관련된 부분이신 것 같습니다. 강의에서는 MSA 학습을 위해 제공되는 예제 애플리케이션에 대해서 Docker 컨테이너 (docker-compose 포함) 형태로 배포하는 것과, 최근 추가된 업데이트 영상에서는 K8s로의 배포에 대해서는 소개하고 있지만, 별도의 EC2별로 배포하는 과정을 소개하고 있지는 않습니다. 다른 강의인 https://www.inflearn.com/course/lecture?courseSlug=%EC%A0%A0%ED%82%A8%EC%8A%A4-ci-cd-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8&unitId=124792&subtitleLanguage=ko 에서 클랑우드상에서 여러 EC2에 배포하는 내용에 대해 다루고 있기는 합니다. 참고가 되시면 좋을 것 같습니다.

감사합니다.

djsdjdyd123님의 프로필 이미지
djsdjdyd123
질문자

완벽한 답변 감사합니다.
진짜 역대급 잘하시고 잘알려주십니다 ㅜㅜㅜ ㅜㅜㅜㅜㅜㅜㅜㅜㅜ
주니어는웁니다 감사합니다 ㅜㅜㅜ

0

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

마이크로서비스 아키텍처에서는 자동으로 리소스를 확장하거나 축소할 수 있는 오토스케일링(auto-scaling) 기능이 중요한 요소 중 하나입니다. 여러분의 질문에 따라 관련된 몇 가지 설명과 링크를 제공해드리겠습니다.

  1. 오토스케일링:
    오토스케일링은 주로 클라우드 서비스 제공업체(AWS, Google Cloud, Azure 등)의 기능을 통해 구현할 수 있습니다. Spring Cloud 과정을 통해 유레카(Eureka)를 사용한 로드 밸런싱을 배우셨으면, 오토스케일링은 해당 클라우드 플랫폼의 기능이나 젠킨스와 같은 CI/CD 도구와 연계하는 방식으로 구현할 수 있습니다. 강의 내용에서는 AWS Elastic Beanstalk 또는 EC2 인스턴스를 이용해 학습할 수 있는 부분이 있을 것입니다.

  2. EC2 분산 배포:
    여러 개의 EC2 인스턴스에서 서비스를 분산 배포하는 방법도 마이크로서비스에서 중요한 주제입니다. 이 역시 AWS 등의 클라우드 플랫폼을 활용하여 가능한 방법이며, Terraform과 같은 Infrastructure as Code(IaC) 도구와 함께 활용할 수도 있습니다.

강의 내에서 직접적으로 위 기능을 다루지 않더라도, 클라우드 플랫폼과 DevOps 도구를 이용한 배포와 운영에 대한 개념을 가지고 있으면 진입 장벽을 낮출 수 있습니다. 스프링을 기반으로 한 마이크로서비스 아키텍처를 다루는 강의라면, 아래 링크들을 참고하시면 관련 개념을 이해하는 데 도움이 될 것입니다.

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

djsdjdyd123님의 프로필 이미지
djsdjdyd123

작성한 질문수

질문하기