Day 77 · 5/5
🌳 고급 고급

서비스 메시가 뭔가요?

쉽게 이해하기

대도시의 교통 관제 시스템을 생각해보세요. 각 차량(마이크로서비스)이 알아서 길을 찾아가는 게 아니라, 중앙에서 신호등을 제어하고, 우회로를 안내하고, 교통 상황을 모니터링하죠. 서비스 메시도 이처럼 서비스들 사이의 통신을 중앙에서 제어하고 관찰하는 인프라예요.

핵심 정리

마이크로서비스 간의 통신을 관리하고 모니터링하는 인프라 계층이에요.

자세히 알아보기

서비스 메시는 마이크로서비스 아키텍처에서 서비스 간 통신을 처리하는 전용 인프라 계층입니다. 마이크로서비스가 많아지면 서비스 간 호출이 복잡해지고, 재시도 로직, 타임아웃, 로드밸런싱, 인증 같은 공통 기능을 각 서비스마다 구현하기 어려워요. 서비스 메시는 각 서비스 옆에 프록시(사이드카)를 배치해서 모든 네트워크 트래픽을 가로챕니다. 서비스는 다른 서비스를 직접 호출하지 않고, 자신의 사이드카 프록시를 통해 호출해요. 이 프록시들이 모여서 하나의 메시(망)를 형성하고, 중앙 컨트롤 플레인에서 이를 관리하죠. 주요 기능으로는 트래픽 관리(로드밸런싱, 카나리 배포), 보안(서비스 간 mTLS 암호화, 인증/인가), 관찰성(분산 추적, 메트릭 수집, 로깅), 장애 복구(서킷 브레이커, 재시도, 타임아웃)가 있어요. 이런 기능들을 애플리케이션 코드 수정 없이 설정만으로 추가할 수 있죠. 대표적인 서비스 메시로는 Istio, Linkerd, Consul Connect가 있어요. 하지만 서비스 메시는 복잡도가 높고, 사이드카 프록시로 인한 레이턴시가 추가될 수 있어요. 마이크로서비스가 수십 개 이상으로 많고, 복잡한 네트워크 정책이 필요할 때 도입을 고려하는 게 좋아요.