본문 바로가기

Study

[내일배움캠프 TIL] 5일차 - MSA (Microservice Architecture)

728x90
반응형

오늘까지 MSA 강의를 마무리 하였습니다.

 

 

1. 오늘의 학습 키워드

 

  • 보안 및 인증: OAuth2, JWT
  • 설정 및 모니터링: Spring Cloud Config, Micrometer
  • 분산 추적 및 로깅: Spring Cloud Sleuth, Zipkin
  • 아키텍처: 이벤트 드리븐 아키텍처(EDA), 스트림 처리
  • 배포 환경: 쿠버네티스(Kubernetes)

2. 핵심 키워드 상세 정리

[보안 및 인증]

  • OAuth2 + JWT: 마이크로서비스 환경에서 각 서비스가 독립적으로 인증 정보를 확인할 수 있도록 돕는 조합입니다. OAuth2로 권한 부여 체계를 잡고, JWT(Json Web Token)를 통해 상태를 저장하지 않는(Stateless) 방식으로 사용자 정보를 안전하게 전달합니다.

[설정 및 모니터링]

  • Spring Cloud Config: 여러 마이크로서비스의 설정 파일(yml)을 중앙 레포지토리에서 관리하게 해줍니다. 서버 재시작 없이 설정 변경 사항을 반영할 수 있어 관리가 용이합니다.
  • Micrometer: 어플리케이션의 메트릭(CPU, 메모리, HTTP 요청 횟수 등)을 수집하는 파사드(Facade) 라이브러리입니다. Prometheus와 같은 모니터링 시스템과 연결하는 표준 역할을 합니다.

[분산 추적 및 로깅]

  • Spring Cloud Sleuth: 호출되는 서비스들 간의 흐름을 추적하기 위해 고유한 Trace ID와 Span ID를 로그에 삽입해 줍니다.
  • Zipkin: Sleuth가 생성한 추적 데이터를 시각화해 주는 도구입니다. 어떤 서비스에서 병목 현상이 발생하는지 한눈에 파악할 수 있습니다.

[아키텍처 및 데이터 처리]

  • 이벤트 드리븐 아키텍처 (EDA): 서비스 간 직접적인 호출 대신 '이벤트'를 발행하고 소비하는 방식입니다. 서비스 간 결합도를 낮추고 시스템 확장성을 높이는 데 유리합니다.
  • 스트림 처리: 실시간으로 발생하는 대량의 데이터 흐름을 지연 없이 처리하는 기술로, 메시지 큐(Kafka, RabbitMQ 등)와 함께 주로 사용됩니다.

[인프라]

  • 쿠버네티스 (Kubernetes): 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화해 주는 오케스트레이션 플랫폼입니다. MSA 구조의 서비스들을 안정적으로 운영하기 위한 표준 환경으로 쓰입니다.

 

반응형