서비스 메시(Service Mesh)는 마이크로서비스 아키텍처(Microservices Architecture, MSA)에서 서비스 간 통신을 전담하는 전용 인프라 계층(Infra Layer)입니다.
애플리케이션 소스 코드 수정 없이 network level 통신제어, 보안, 관찰 가능성(Observability)을 구현합니다.
서비스 메시는 크게 두 가지 컴포넌트로 구성됩니다.
+-------------------------------------------------------+
| Control Plane (제어 영역) |
| - 정책 관리, 프록시 설정 배포, 증명서 발급 |
+-------------------------------------------------------+
│ Configuration
▼
+-------------------------------------------------------+
| Data Plane (데이터 영역) |
| +------------------+ +------------------+ |
| | Service A | | Service B | |
| | +------------+ | mTLS | +------------+ | |
| | | Sidecar |<===========>| Sidecar | | |
| | | Proxy | | Network | | Proxy | | |
| | +------------+ | | +------------+ | |
| +------------------+ +------------------+ |
+-------------------------------------------------------+
| 구분 | 주요 역할 | 대표 기술 |
|---|---|---|
| Data Plane (데이터 영역) | 서비스 인스턴스 옆에 사이드카(Sidecar) 형태로 프록시를 배치하여 네트워크 트래픽을 중계 및 처리 | Envoy Proxy |
| Control Plane (제어 영역) | 사이드카 프록시들의 동작 정책(라우팅, 보안, 수집 등)을 중앙에서 관리 및 배포 | Istio, Linkerd |