Free Lines Arrow
본문 바로가기
Architecture/MSA

[MSA] Service Mesh

by skahn1215 2021. 9. 30.
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

  • Data Plane:
     - 인스턴스 간의 네트워크 트래픽과 관련 데이터들이 이동하는 영역
  • Control Plane:
     - Data Plane 의 동작을 제어, 구성 및 정책을 설정하는 영역

  • 상세내용

https://istio.io/latest/about/service-mesh/

 

The Istio service mesh

Service mesh.

istio.io

 

 

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 

 

관련참고문서 | 표준프레임워크 포털 eGovFrame

처리중입니다. 잠시만 기다려주십시오.

www.egovframe.go.kr

 

728x90
반응형

'Architecture > MSA' 카테고리의 다른 글

[MSA] Transaction  (0) 2023.03.04
[MSA] 개념  (0) 2021.09.29

댓글