envoy 는 service-mesh 를 구성할 때 핵심적인 역할을 담당하는 프록시이다.
downstream/upstream 개념을 기반으로 Listener, Route, Cluster, Endpoint 를 통해 트래픽을 효율적으로 제어한다.
envoy 의 주요 컴포넌트 구조와 트래픽 처리 흐름(Listener -> filter chain -> Router Filter -> Cluster),
로드밸런싱 및 Connection 관리, xDS 를 통한 동적 설정 방식까지 빠르게 이해해보자.
Envoy 컴포넌트 구조

-
Downstream
- Envoy 에게 요청을 보내는 호스트
-
Upstream
- Envoy 가 요청을 보내는 호스트
-
Listener
- 어떤 IP, Port 를 처리 할 지 정의한다. (=downstream 으로부터 요청을 받는 부분)
-
Route
- Listener 로 들어온 요청을 어디로 보낼지 정의한다 (routing 대상은 Cluster)
-
Cluster
- 실제 요청이 처리되는 IP 또는 Endpoint 들이다. (=upstream 들)
-
Endpoint
- 실제로 접근 가능한 Endpoint (여러 endpoint 가 모여서 cluster 가 된다)