[241122 TIL]
MSA 학습
- 보안구성
- Config
- 분산추적
- 이벤트 드리븐
보안구성
- 마이크로서비스 아키텍처에서는 각 서비스가 독립적으로 배포되고 통신하기 때문에 보안이 매우 중요
- 데이터 보호, 인증 및 권한 부여, 통신 암호화 등을 통해 시스템의 보안성을 확보해야 함
✏️
jwt - 변조, 수정의 보안을 말하는거 즉, 데이터 무결성을 확인 페이로드 안에 데이터(정보) 확인을 못하게 암호화한다를 뜻하는 게 아님
gateway 만 알고 나머지는 사용자가 접근못하게 방화벽 처리 19091로만 접속가능하게
Spring Cloud Config
- 분산 시스템 환경에서 중앙 집중식 구성 관리를 제공하는 프레임워크
- 애플리케이션의 설정을 중앙에서 관리하고, 변경 사항을 실시간으로 반영
- Git, 파일 시스템, JDBC 등 다양한 저장소를 지원
- 중앙 집중식 구성 관리: 모든 마이크로서비스의 설정을 중앙에서 관리
- 환경별 구성: 개발, 테스트, 운영 등 환경별로 구성을 분리하여 관리 가능
- 실시간 구성 변경: 설정 변경 시 애플리케이션을 재시작하지 않고도 실시간으로 반영할 수 있음
✏️
Config 서버가 native 프로필로 로컬 파일 시스템을 사용할 경우, 파일 변경을 자동으로 감지하지 않음
그래서 config 가 변경되면 config 서버는 재실행해줘야함!
분산 추적
- 분산 시스템에서 서비스 간의 요청 흐름을 추적하고 모니터링하는 방법
- 각 서비스의 호출 관계와 성능을 시각화하여 문제를 진단하고 해결할 수 있도록 도움
- 트레이스(Trace) : 하나의 요청이 시작부터 끝까지 각 서비스를 거치는 전체 흐름을 나타냄
- 스팬(Span) : 분산 추적에서 가장 작은 단위로, 특정 서비스 내에서의 개별 작업 또는 요청을 나타냄
- 컨텍스트(Context): 요청이 서비스 간에 전달될 때 함께 전파되어, 각 서비스가 요청의 전체 흐름에 대한 정보를 가질 수 있게함
- 필요성
- 마이크로서비스 아키텍처에서는 여러 서비스가 협력하여 하나의 요청을 처리
- 서비스 간의 복잡한 호출 관계로 인해 문제 발생 시 원인을 파악하기 어려울 수 있음
- 분산 추적을 통해 각 서비스의 호출 흐름을 명확히 파악하고, 성능 병목이나 오류를 빠르게 진단할 수 있음
이벤트 드리븐 아키텍처
- 시스템에서 발생하는 이벤트(상태 변화나 행동)를 기반으로 동작하는 소프트웨어 설계 스타일
- 이벤트는 비동기적으로 처리되며, 서비스 간의 느슨한 결합을 통해 독립적으로 동작할 수 있게함
- 이벤트: 시스템 내에서 발생하는 상태 변화나 행동을 나타내는 메시지
- 이벤트 소스: 이벤트를 생성하여 이벤트 버스에 전달하는 역할
- 이벤트 핸들러: 이벤트를 수신하여 처리하는 역할
- 이벤트 버스: 이벤트 소스와 이벤트 핸들러 간의 메시지 전달을 중개
- 장점
- 느슨한 결합
- 서비스 간의 강한 종속성을 제거하여 독립적인 개발과 배포가 가능
- 이벤트 기반 통신을 통해 서비스 간의 결합도 낮춤
- 확장성
- 수평 확장이 용이하여 대규모 시스템에서 유용
- 이벤트 프로듀서와 컨슈머를 독립적으로 확장 가능
- 비동기 처리
- 이벤트를 비동기적으로 처리하여 시스템의 응답성 향상
- 요청과 응답을 비동기적으로 처리하여 성능 최적화
- 느슨한 결합
- 단점
- 복잡성 증가
- 이벤트 기반 통신으로 인해 시스템의 복잡성 증가 가능
- 이벤트 흐름과 상태 관리를 체계적으로 설계 필요
- 장애 전파
- 이벤트 실패 시 다른 서비스로 장애가 전파될 수 있음
- 이벤트 재처리 및 장애 복구 메커니즘 구현 필요
- 복잡성 증가

'[내일배움캠프] AI 를 활용한 백엔드 아카데미 심화 과정 > TIL' 카테고리의 다른 글
QueryDSL (0) | 2024.11.26 |
---|---|
MSA 프로젝트 (0) | 2024.11.25 |
MSA(서비스 디스커버리, 로드 밸런싱, 서킷 브레이커, API GW) (2) | 2024.11.21 |
MA(Monolithic Architecture), MSA(Microservice Architecture), Spring Cloud (1) | 2024.11.20 |
AI 검증 비즈니스 프로젝트 마무리 (0) | 2024.11.19 |