Envoy 주요 용어
- Host
- 논리적인 네트워크 애플리케이션
- 하나의 물리적인 장비에 여러 개의 호스트가 있을 수 있다
- Downstream
- envoy에 요청을 보내고 응답을 받는 host
- 보통 요청을 보내는 클라이언트를 뜻함
- Upstream
- envoy로부터 요청을 받아서 응답을 보내는 host
- 보통 요청을 받아주는 서버를 뜻함
envoy는 listner와 cluster라는 2개의 main part로 이루어져 있다
- Listner
- downstream request를 핸들링하고 lifecycle을 관리
- downstream에서 연결할 수 있는 네트워크 위치(포트, 유닉스 도메인 소켓)를 의미
- envoy는 downstream에서 연결할 수 있는 listner를 하나 이상 제공
- Cluster
- endpoint에 대한 upstream connection을 선택하고 구성
- envoy가 연결할 수 있는 upstream host 그룹
- 헬스체크와 로드밸런싱 정책을 설정할 수 있다
- Filter
- listner와 cluster는 HTTP router filter로 연결되어 있다
- listener로부터 받은 요청을 filtering, 조작, 인증 등을 거쳐 cluster로 routing 하는 역할
- Route
- Listener로 들어온 요청을 어디로 라우팅 할 것인지를 정의
- 라우팅 대상은 일반적으로 Cluster이다
- Endpoint
- 실제로 접근 가능한 엔드포인트를 의미
- 엔드포인트가 모여서 하나의 Cluster가 된다
- Mesh
- 안정적인 네트워크 토폴로지를 제공하도록 관리하는 호스트들의 그룹
- “envoy mesh”라고 하면 envoy 프록시들의 그룹을 의미
- Runtime configuration
- 실행 중인 envoy를 재시작하지 않고도 주요 설정들을 변경할 수 있는 기능
관련 공식 문서