서비스 메시
서비스 메시 (Service Mesh) 는 마이크로서비스 아키텍처 환경에서 서비스 간의 통신을 투명하고 안전하게 관리하는 인프라 계층입니다. 복잡한 서비스 간 트래픽 관리, 보안, 모니터링, 장애 복구 등을 애플리케이션 코드 수정 없이 처리할 수 있도록 지원합니다. 프록시(Proxy) 기반으로 동작하며, 각 서비스 인스턴스에 사이드카(대표적으로 Envoy) 형태로 배포됩니다.
주요 특징
- 서비스 간 트래픽 제어: 라우팅, 로드 밸런싱, 트래픽 분할 등 네트워크 트래픽 세밀한 제어.
- 서비스 간 보안: mTLS (Mutual TLS)를 통한 통신 암호화와 인증, 인가.
- 관찰성(Observability): 트래픽 모니터링, 로깅, 추적(Tracing) 등 서비스 간 통신 가시성 제공.
- 장애 복구 및 탄력성: 자동 재시도, 회로 차단기(Circuit Breaker), 타임아웃 설정 등으로 장애 대응.
- 정책 및 규칙 관리: 서비스 간 통신에 대한 정책 수립 및 강제 (예: 허용/차단, 속도 제한).
장점
- 트래픽 안정성 및 보안 강화: 서비스 간 통신을 안전하게 보호하고 장애 시 자동 복구.
- 운영 복잡성 감소: 트래픽 제어, 보안, 로깅을 애플리케이션 코드 수정 없이 관리.
- 관찰성 향상: 서비스 간의 모든 통신 데이터를 통해 문제를 빠르게 탐지 및 해결 가능.
- 유연한 트래픽 제어: 카나리 배포, A/B 테스트, 블루-그린 배포 등을 손쉽게 구현.
- 서비스 독립성 강화: 서비스별 독립적 배포 및 운영 가능.
관련 용어
- 사이드카 프록시(Sidecar Proxy): 각 서비스에 함께 배포되어 트래픽을 가로채는 프록시(예: Envoy).
- mTLS (Mutual TLS): 서비스 간 상호 인증 및 암호화 통신.
- 서비스 디스커버리(Service Discovery): 동적으로 서비스 위치를 찾는 기능.
- 분산 추적(Distributed Tracing): 여러 서비스 호출을 추적하는 기술 (예: Jaeger, Zipkin).
- 로드 밸런싱(Load Balancing): 여러 서비스 인스턴스 간 트래픽 분산.
주요 솔루션 및 사용 사례
- 주요 솔루션
- Istio, Linkerd, Consul Connect, Kuma, AWS App Mesh.
- 사용 사례
- 마이크로서비스 통신 관리: 수십~수백 개의 마이크로서비스가 복잡하게 상호작용하는 환경.
- 보안 통신 강화: 서비스 간 민감 데이터 암호화 및 접근 제어.
- 카나리/블루-그린 배포: 트래픽 제어로 점진적 배포 및 테스트.
- 장애 대응 설계: 자동 재시도, 타임아웃, 회로 차단기 적용으로 안정성 강화.
- 트래픽 관찰 및 모니터링: 실시간 성능 모니터링 및 문제 진단.