[내일배움캠프 사전캠프] 7회차 TIL(6/30 화) - MSA

2026. 6. 30. 15:06·심화_AI를 활용한 백엔드 아키텍처 심화 과정

1. 오늘 학습 키워드

  • 아키텍처 선택 (Monolithic vs MSA)
  • 쿠버네티스 (Kubernetes, 인프라 레벨 오케스트레이션)
  • Spring Cloud (애플리케이션 레벨 MSA 도구)
  • Eureka Server & Client 설정
  • Spring Boot Actuator (서버 모니터링)
  • application.yml (실무형 계층 구조 설정 파일)

2. 오늘 학습 한 내용을 나만의 언어로 정리하기

  • 무조건 MSA가 정답은 아니다: 무작정 MSA를 도입하기보다 초기 프로토타입은 모놀리틱으로 빠르게 만들고 점진적으로 전환하는 것도 훌륭한 전략이다. 개발팀의 상황과 레거시 구조에 맞추는 것이 유지보수에 유리하다.
  • Spring Cloud vs 쿠버네티스: 둘 다 MSA를 돕지만 역할이 다르다. Spring Cloud는 자바 애플리케이션 내부에서 서비스 디스커버리, 라우팅 등 소프트웨어 레벨의 문제를 해결하고, 쿠버네티스는 컨테이너 배포와 자동 확장(스케일링) 등 인프라 레벨의 관리를 자동화한다. 이 둘을 결합한 Spring Cloud Kubernetes 방식도 존재한다.
  • 설정 파일의 실무 트렌드: .properties보다 중복 코드가 적고 계층 구조가 눈에 잘 들어오는 .yml 확장자를 실무와 MSA 환경에서 훨씬 선호한다.

3. 학습하며 겪었던 문제점 & 에러

문제 & 에러에 대한 정의

  • 문제 1: 강의를 다 듣고 MSA 프로젝트를 내가 혼자 생성하려고 하다보니 어려움이 많이 있었음..
  • 문제 2: Eureka Server 생성 시 Spring Web 의존성을 따로 추가해야 하는지 판단이 모호했음.
  • 문제 3: 기본 생성된 application.properties와 실무에서 자주 쓰는 .yml 문법의 차이점 혼동.

내가 한 시도

  • 강의를 다시 들으면서 최대한 프로젝트 구조를 잡아보려고 노력함
  • Eureka Server 의존성만 넣고 프로젝트를 빌드한 뒤 실제로 구동해 보며 내장 톰캣이 정상 작동하는지 테스트함.

해결 방법

  • 해결 1: 강의 & 제미나이에게 물어보면서 풀어가보는 중..
  • 해결 2: 직접 실행해 본 결과, Spring Boot 3.x 이상에서는 Eureka Server 라이브러리 내부에 Spring Web과 톰캣이 이미 내장(의존성 전이)되어 있어서 따로 추가하지 않아도 서버가 잘 켜짐을 확인하고 해결함.
  • 해결 3: 파일명을 application.yml로 변경한 뒤, 콜론(:)과 들여쓰기를 활용한 계층 구조 문법으로 변환함. 메인 클래스에 @EnableEurekaServer를 붙이고 자기 자신을 클라이언트로 등록하지 않도록 설정을 넣어 세팅을 완료함.

💡 새롭게 알게 된 점

  • Spring Boot Actuator의 역할: 서버를 재부팅하지 않고도 런타임 상태(Health Check, 메트릭)를 조회할 수 있게 해주며, Eureka 서버가 클라이언트의 생존 여부(Heartbeat)를 확인할 때 이 Actuator의 엔드포인트를 활용한다는 점을 배움.

⏳ 이 문제&에러를 다시 만나게 되었다면?

  • 앞으로 Eureka Server를 만들 때는 Eureka Server 스타터 하나만 깔끔하게 추가할 것이다. 다만 향후 만들 상품/주문 같은 클라이언트 서비스들은 직접 REST API를 짜야 하므로 그때는 Spring Web을 잊지 않고 챙겨줄 것이다. 또한 프로젝트 생성 직후 properties를 yml로 바꾸는 습관을 유지할 것이다.

4. 내일 학습 할 것은 무엇인지

  • MSA 프로젝트 만들기
  • 코드카타
  • TIL작성

'심화_AI를 활용한 백엔드 아키텍처 심화 과정' 카테고리의 다른 글

[내일배움캠프 사전캠프] 9회차 TIL(7/2 수)  (0) 2026.07.02
[내일배움캠프 사전캠프] 8회차 TIL(7/1 화)  (0) 2026.07.01
[내일배움캠프 사전캠프] 6회차 TIL(6/29 월) - Spring Cloud 핵심 인프라 구축 (Config, 분산추적(Zipkin), 이벤트 드리븐)  (0) 2026.06.29
[내일배움캠프 사전캠프] 5회차 TIL(6/26 금) - 서비스 디스커버리, 로드 밸런싱(Spring Cloud Eureka & OpenFeign)  (0) 2026.06.26
[내일배움캠프 사전캠프] 4회차 TIL(6/25 목) - Global 예외처리, Error 메시지 관리, 용어 정리  (0) 2026.06.25
'심화_AI를 활용한 백엔드 아키텍처 심화 과정' 카테고리의 다른 글
  • [내일배움캠프 사전캠프] 9회차 TIL(7/2 수)
  • [내일배움캠프 사전캠프] 8회차 TIL(7/1 화)
  • [내일배움캠프 사전캠프] 6회차 TIL(6/29 월) - Spring Cloud 핵심 인프라 구축 (Config, 분산추적(Zipkin), 이벤트 드리븐)
  • [내일배움캠프 사전캠프] 5회차 TIL(6/26 금) - 서비스 디스커버리, 로드 밸런싱(Spring Cloud Eureka & OpenFeign)
taeyoon2
taeyoon2
taeyoon2 님의 블로그 입니다.
  • taeyoon2
    taeyoon2 님의 블로그
    taeyoon2
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 심화_AI를 활용한 백엔드 아키텍처 심화 과정 (24)
      • MSA (11)
      • Study (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Zipkin
    심화_AI를 활용한 백엔드 아키텍처 심화 과정
    사전캠프
    OAuth2
    api gateway
    로드 밸런싱
    서킷 브레이커
    spring cloud config
    내일배움캠프 #사전캠프 #til
    내일배움캠프
    Resilience4j
    Config
    이벤트 드리븐
    spring cloud
    RabbitMQ
    분산추적
    JWT
    보안구성
    til
    MSA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
taeyoon2
[내일배움캠프 사전캠프] 7회차 TIL(6/30 화) - MSA
상단으로

티스토리툴바