본문 바로가기
IT/Knowledge

Service Mesh 란?

by 성준하이 2024. 1. 9.
반응형

요즘 떠오르는 MSA 에서의 시스템 내부 통신이 Mesh 네트워크의 형태를 띄는것처럼 보인다.

MSA와 Mesh 네트워크에 대해서는 아래 참고 포스팅을 참고 바란다.

 

MSA 내부에서 서비스들끼리 서로 Mesh네트워크 형태처럼 서비스를 주고 받는것을 Service Mesh라고 한다.

아래 그림을 참고하면

 

각 MS에서 필요한 서비스를 Proxy를 통해 호출하고 받고 상호작용을 한다.

 

Service Mesh 적용 이유

Service Mesh를 적용하는 이유는 
MicroService Architecture는 Monolitic Architecture의 단점 극복과 Cloud 환경에서 시스템을 운영할 때의 이점을 극대화하기 위해 많이 사용되고 있다.

이를 통해 많은 문제들이 해결되었지만, 또다른 문제점도 발생했는데 바로 시스템의 런타임 복잡성 이다.

위해서는 아키텍쳐를 잘 잡아줘야한다.

 

Service Mesh 기능

Service Mesh 기능은 아래와 같다. (MSA 의 요구사항이자 Service Mesh의 기능)
- Service Discovery
- Load Balancing
- Dynamic Request Routing
- Circuit Breaking
- Retry and Timeout
- TLS
- Distributed Tracing
- metrics 수집
- 기타 등등

 

Service Mesh 구현

Service Mesh Architecture의 구현은 보통 서비스의 앞단에 경량화 프록시를 사이드카 패턴으로 배치하여 서비스 간 통신을 제어하는 방법으로 구현한다.
사이드카 패턴은 아래 참고포스팅 참고 바란다.

 

Service Mesh 장단점

 

장점
- 기능을 어플리케이션 외부에 구현하며 재사용 가능하다.
- MicroService Architecture를 도입하면서 발생한 런타임 복잡성 이슈를 해결한다.
- 어플리케이션 개발시 언어와 미들웨어 등에 종속성을 제거한다.
단점
- 시스템의 런타임 인스턴스 수가 크게 증가한다. (최소 2배수)
- 서비스 간 통신에 네트워크 레이어가 추가된다.
- 신기술이다. 구현체가 Release 될 때까지 시간이 필요하다.


참고 포스팅

https://thenicesj.tistory.com/96

 

MSA(Micro Service Architecture) 소개

아키텍쳐라 하면 개발하는 방식을 뜻한다. 요즘엔 클라우드 기술이 많아지면서 마이크로서비스 아키텍쳐가 많이 사용된다, 이전까지의 방식으로는 monolithic 방식이라 해서 하나의 묶음으로 개

thenicesj.tistory.com

https://thenicesj.tistory.com/804

 

메시 네트워크(Mesh network)

나무위키에서는 아래와 같이 소개를 한다. 컴퓨터 네트워크 구조 중 하나. 네트워크를 구성하는 각 노드들이 다른 노드의 작동 가능/작동 불가능에 상관없이 항상 네트워크를 가동하는 형태의

thenicesj.tistory.com

 

https://thenicesj.tistory.com/805

 

[kubernetes] 사이드카 패턴

사이드카 패턴은 클라우드 디자인 패턴의 일종이다. 디자인 패턴에 대한 내용은 아래 참고 포스팅 참고 바란다. 기본 Application 외 필요한 추가 기능을 별도의 Application으로 구현하고 이를 동일한

thenicesj.tistory.com

 

반응형

'IT > Knowledge' 카테고리의 다른 글

SPA / MPA 에 대해서  (23) 2024.01.16
HTTP Method (종류 및 상태코드)  (24) 2024.01.12
[kubernetes] 사이드카 패턴  (21) 2024.01.08
메시 네트워크(Mesh network)  (25) 2024.01.07
바이너리(binary) 파일이란?  (29) 2023.12.23

댓글