728x90
반응형
Service Mesh
- MSA 를 적용후 시스템이 커지고 마이크로서비스의 인스턴스 수가 증가 할수 밖에 없다
- 중가되면 뭐가 문제 일까?
- 런타임 복잡성 문제가 발생한다. - 보안, 로드 밸런싱, 모니터링 등 통신을 하면서 발생되는 관심사들을 내부에서 안정적으로 다루기 위한
방법이 필요하다 - 이렇게 전체 서비스를 관리하기 위한 Outer Architecture 를 Service Mesh 라고 한다.
Service Mesh 의 주요 기능들
- Configuration Management
- 설정이변경 되어도 서비스의 재빌드와 재부팅 없이 반영되어야 한다. - Service Discovery
- API Gateway 가 서비스를 검색하는 매커니즘 - API Gateway
- API 서버 앞단에서 API 엔드포인트 단일화 및 인증, 인가, 라우팅 기능 담당 - Centralized Logging
- 서비스별 로그의 중앙집중화 - Centralized Metrics
- 서비스별 메트릭 정보의 중앙집중화 - Distributed Tracing
- 서비스간 호출 추적과 성능, 분석 관리 - Resilience & Dault Tolerance
- 서비스간 장애 전파 차단 - Auto Scaling & Self Healing
- 자동 스케일아웃과 복구 자동화 - Packaging, Deployment & Scheduling
- 패키징, 빌드 및 배포 자동화 - Test Automation
- 서비스 테스트 자동화
Service Mesh 적용 방안
Kubernetes 의 Istio 솔루션을 사용하는 방안
- 마이크로 서비스 앞단에 통신 제어를 담당하는 경량화된 프록시를 배치하는 디자인 패턴을 가진
Kurbernetes의 Istio 를 적용하는 방안 - 각 서비스 인스턴스에 사이드카라고하는 프록시 인스턴스를 제공하여 구현된다.
이사이트카에 Envoy 가 배포되어 애플리케이션을 수정하지 않고도 서비스의 인·아웃 통신
트래픽을 제어한다
- Data Plane:
- 인스턴스 간의 네트워크 트래픽과 관련 데이터들이 이동하는 영역 - Control Plane:
- Data Plane 의 동작을 제어, 구성 및 정책을 설정하는 영역 - 상세내용
https://istio.io/latest/about/service-mesh/
Spring Cloud 기반 Service Mesh 직접 구축
- Spring Cloud 를 Spring Boot 와 함께 사용하면 분산처리 환경의 안정적인 Service Mesh 를 직접 구현할 수 있다
- Spring Cloud 는 애플리케이션 스택의 일부로 모든 MSA 관심사를 해결하도록 잘 통합된 다양한 자바 라이브러리들의 묶음이다.
내용이 많아 조금씩 공부하면서 작성해 나갈예정입니다.
참고
https://www.egovframe.go.kr/home/ntt/nttRead.do?menuNo=76&bbsId=171&nttId=1809
728x90
반응형
'Architecture > MSA' 카테고리의 다른 글
[MSA] Transaction (0) | 2023.03.04 |
---|---|
[MSA] 개념 (0) | 2021.09.29 |
댓글