Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

xDS API (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.23 14:06

xDS API

정의

서비스 메시에서 데이터 플레인 구성 요소(예: Envoy 프록시)를 제어하기 위한 범용 데이터 플레인 API

개발

Lyft

최초 공개

2016년

주요 용도

서비스 메시 데이터 플레인 구성

동적 서비스 검색

로드 밸런싱

트래픽 라우팅

보안 정책 적용

관측 가능성 데이터 수집

관련 분야

서비스 메시

클라우드 네이티브

마이크로서비스 아키텍처

상세 정보

주요 API 유형

Listener Discovery Service (LDS)

Route Discovery Service (RDS)

Cluster Discovery Service (CDS)

Endpoint Discovery Service (EDS)

Secret Discovery Service (SDS)

구현체

Envoy 프록시

gRPC

통신 프로토콜

gRPC 스트리밍

REST-JSON

관련 프로젝트

Istio

Envoy

1. 개요

xDS API는 서비스 메시에서 데이터 플레인 구성 요소를 제어하기 위한 범용 데이터 플레인 API이다. 이 API는 Lyft에 의해 개발되어 2016년에 최초로 공개되었으며, 클라우드 네이티브 환경과 마이크로서비스 아키텍처에서 동적 구성 관리를 위한 핵심 프로토콜로 자리 잡았다.

주요 용도는 서비스 메시의 데이터 플레인 구성 요소, 대표적으로 Envoy Proxy와 같은 프록시에 설정을 동적으로 전달하는 것이다. 이를 통해 운영자는 서비스를 재시작하지 않고도 다양한 네트워킹 정책을 실시간으로 적용할 수 있다. xDS API가 담당하는 핵심 기능에는 동적 서비스 검색, 로드 밸런싱, 세밀한 트래픽 라우팅, 보안 정책 적용, 그리고 관측 가능성 데이터 수집이 포함된다.

이 API는 "x" Discovery Service라는 명칭에서 알 수 있듯이, 여러 개의 특화된 발견(Discovery) 서비스 프로토콜 집합으로 구성된다. 각 프로토콜은 리스너, 라우트, 클러스터, 엔드포인트 등 네트워크 구성의 특정 부분을 관리하는 책임을 분담한다. 이러한 모듈식 설계는 유연성과 확장성을 제공하며, 복잡한 마이크로서비스 통신을 효율적으로 제어하는 기반이 된다.

2. 역사와 배경

xDS API는 Lyft가 개발한 Envoy Proxy의 구성 관리 방식을 일반화하여 탄생했다. 2016년 Envoy가 오픈소스로 공개되면서, 그 핵심 기능인 동적 구성 업데이트를 위한 일련의 Discovery Service 프로토콜이 주목받기 시작했다. 초기에는 Envoy 전용의 내부 인터페이스에 불과했으나, 그 유연성과 효율성이 입증되면서 독립적인 표준 API로 발전하는 계기가 마련되었다.

이 API가 등장한 배경에는 클라우드 네이티브 애플리케이션과 마이크로서비스 아키텍처의 급속한 확산이 있다. 기존의 정적 설정 파일 방식은 수많은 서비스 인스턴스가 빠르게 생성되고 소멸되는 동적 환경에서 관리 부담이 컸다. xDS는 이러한 문제를 해결하기 위해 컨트롤 플레인이 데이터 플레인 프록시의 모든 구성(리스너, 라우트, 클러스터, 엔드포인트 등)을 실시간으로 전달하고 갱신할 수 있는 통합 메커니즘을 제공했다.

이를 통해 개발자와 운영자는 서비스 검색, 로드 밸런싱, 트래픽 라우팅, 보안 정책 적용 등의 복잡한 네트워킹 작업을 코드와 선언적 설정으로 자동화할 수 있게 되었다. xDS의 등장은 서비스 메시 생태계의 발전에 지대한 기여를 했으며, Envoy 외에도 다양한 프록시와 시스템이 이 프로토콜을 지원하는 데 사실상의 표준으로 자리잡게 하는 기반이 되었다.

3. 핵심 구성 요소

3.1. Listener Discovery Service (LDS)

Listener Discovery Service는 xDS API의 핵심 구성 요소 중 하나로, 데이터 플레인의 진입점 역할을 하는 리스너의 구성을 동적으로 관리하는 서비스이다. 리스너는 특정 포트와 프로토콜(예: HTTP, TCP)을 수신 대기하는 엔티티로, Envoy Proxy와 같은 프록시 서버가 외부 트래픽을 받아들이는 창구를 정의한다.

LDS의 주요 역할은 중앙 컨트롤 플레인이 데이터 플레인 인스턴스에게 리스너 구성을 전달하고, 필요에 따라 이를 실시간으로 업데이트하는 것이다. 이를 통해 운영자는 서비스를 재시작하거나 구성 파일을 수동으로 배포하지 않고도, 리스너의 추가, 제거, 포트 변경, 필터 체인 설정 등을 수행할 수 있다. 이는 동적 구성의 핵심 원칙을 구현한다.

구체적으로 LDS는 각 리스너에 적용될 필터 체인을 지정한다. 이 필터 체인에는 라우팅 규칙을 결정하는 HTTP 연결 관리자 필터나, 전송 계층 보안 처리를 위한 TLS 필터 등이 포함될 수 있다. 따라서 L스너 구성을 통해 트래픽이 어디로 라우팅될지, 어떤 보안 정책이 적용될지의 기본 흐름이 결정된다.

LDS는 다른 xDS 서비스들과 긴밀하게 연동되어 작동한다. 예를 들어, LDS를 통해 설정된 HTTP 연결 관리자 필터는 실제 라우팅 규칙을 Route Discovery Service에서, 그리고 최종 목적지인 업스트림 클러스터 및 엔드포인트 정보를 각각 Cluster Discovery Service와 Endpoint Discovery Service에서 조회하게 된다. 이렇게 분리된 발견 서비스들은 함께 작동하여 서비스 메시 내에서 완전한 트래픽 제어를 가능하게 한다.

3.2. Route Discovery Service (RDS)

Route Discovery Service (RDS)는 xDS API의 핵심 구성 요소 중 하나로, 데이터 플레인 프록시 서버에게 라우팅 구성을 동적으로 전달하는 역할을 한다. 이 서비스는 서비스 메시나 클라우드 네이티브 애플리케이션에서 특정 가상 호스트에 대한 라우팅 테이블 정보를 관리하며, 트래픽 라우팅 규칙을 중앙에서 정의하고 모든 데이터 플레인 인스턴스에 실시간으로 배포할 수 있게 한다.

RDS의 주요 기능은 인바운드 트래픽을 적절한 업스트림 클러스터로 전달하는 라우팅 규칙을 제공하는 것이다. 이 규칙에는 HTTP 요청의 경로, 헤더, 도메인 네임 등을 기반으로 한 라우팅, 트래픽 분할, 카나리 배포, 장애 조치 정책 등이 포함된다. 예를 들어, 사용자 요청의 URL 경로에 따라 다른 마이크로서비스 버전으로 트래픽을 보내거나, 특정 비율로 트래픽을 분산시키는 정책을 RDS를 통해 동적으로 적용할 수 있다.

RDS는 Listener Discovery Service (LDS)와 긴밀하게 연동되어 작동한다. LDS가 어떤 포트에서 어떤 프로토콜의 트래픽을 수신할지 정의한다면, RDS는 그 트래픽을 실제로 어디로 보낼지에 대한 상세한 경로를 지정한다. 이 분리된 아키텍처는 구성의 유연성과 관리 편의성을 크게 향상시킨다. 관리자는 컨트롤 플레인의 설정을 변경함으로써, 모든 Envoy Proxy 인스턴스의 라우팅 동작을 재시작 없이 즉시 업데이트할 수 있다.

이러한 동적 라우팅 기능은 마이크로서비스 아키텍처의 복잡한 배포 시나리오, 특히 블루-그린 배포, A/B 테스트, 지역 기반 라우팅, 서킷 브레이커 정책과의 통합 등에 필수적이다. RDS는 서비스 디스커버리 시스템과 결합되어, 애플리케이션의 네트워킹 계층을 완전히 선언적이고 자동화된 방식으로 관리할 수 있는 기반을 제공한다.

3.3. Cluster Discovery Service (CDS)

Cluster Discovery Service (CDS)는 xDS API의 핵심 구성 요소 중 하나로, 데이터 플레인 프록시가 통신할 수 있는 업스트림 클러스터의 구성을 동적으로 발견하고 관리하는 데 사용된다. 여기서 클러스터란 공통 목적을 가진 엔드포인트의 논리적 그룹을 의미하며, 예를 들어 동일한 마이크로서비스의 여러 인스턴스 집합이 하나의 클러스터를 구성할 수 있다. CDS는 이러한 클러스터의 이름, 연결 타임아웃, 로드 밸런싱 정책, 헬스 체크 설정, TLS 보안 구성과 같은 메타데이터를 관리 플레인으로부터 전달받는다.

CDS의 주요 역할은 데이터 플레인에게 '어디로' 트래픽을 보낼 수 있는지에 대한 논리적 목적지 맵을 제공하는 것이다. 예를 들어, "billing-service-v1"이라는 클러스터가 존재하며, 이 클러스터는 라운드 로빈 방식으로 로드 밸런싱을 수행하고 특정 인증서를 사용하여 암호화된 연결을 수립해야 한다는 정보를 CDS를 통해 전파할 수 있다. 이는 서비스 메시에서 새로운 서비스 버전이 배포되거나 기존 클러스터의 정책이 변경될 때, 모든 관련 프록시의 구성을 중앙에서 일관되게 그리고 재시작 없이 즉시 갱신할 수 있게 해준다.

CDS는 다른 xDS 구성 요소들과 긴밀하게 협력한다. Route Discovery Service (RDS)가 정의한 라우팅 규칙이 특정 클러스터를 가리키면, 데이터 플레인은 CDS로부터 해당 클러스터의 상세 구성을 조회한다. 이후 실제 트래픽을 전송할 때는 Endpoint Discovery Service (EDS)로부터 해당 클러스터에 속하는 구체적인 IP 주소와 포트 목록을 동적으로 받아 사용한다. 이렇게 분리된 설계는 구성의 유연성과 관리 효율성을 크게 높인다.

3.4. Endpoint Discovery Service (EDS)

Endpoint Discovery Service(EDS)는 xDS API의 핵심 구성 요소 중 하나로, 서비스 메시 내에서 실제 네트워크 엔드포인트의 동적 상태를 관리하는 역할을 담당한다. EDS는 클러스터에 속한 개별 호스트의 IP 주소, 포트, 상태, 메타데이터 및 로드 밸런싱 가중치와 같은 상세 정보를 데이터 플레인 구성 요소(예: Envoy Proxy)에 제공한다. 이를 통해 프록시는 특정 서비스의 인스턴스 목록을 실시간으로 파악하고, 해당 인스턴스들 사이에서 효율적인 트래픽 분배를 수행할 수 있다.

EDS의 핵심 기능은 서비스 디스커버리의 정밀화이다. Cluster Discovery Service(CDS)가 논리적인 서비스 그룹(클러스터)을 정의한다면, EDS는 그 그룹을 구성하는 물리적 또는 가상의 실제 백엔드 인스턴스들의 목록을 동적으로 공급한다. 이는 특정 엔드포인트의 상태 변화(예: 장애, 확장, 업데이트)가 발생했을 때, 컨트롤 플레인이 EDS를 통해 새로운 구성 정보를 즉시 전파함으로써 데이터 플레인의 트래픽 라우팅을 갱신할 수 있음을 의미한다.

이러한 동적 업데이트 메커니즘은 클라우드 네이티브 환경과 마이크로서비스 아키텍처에서 매우 중요하다. 컨테이너 기반의 서비스 인스턴스는 자주 생성되고 소멸되며, 그 위치(IP 주소)도 가변적이다. EDS는 이러한 높은 변동성을 관리하는 표준화된 인터페이스를 제공함으로써, 운영자는 수동 구성 없이도 서비스의 확장, 축소, 장애 복구를 자동화할 수 있다. 결과적으로 EDS는 로드 밸런서가 최신의 건강한 엔드포인트로만 트래픽을 보내도록 보장하여 전체 시스템의 가용성과 복원력을 높이는 데 기여한다.

3.5. Secret Discovery Service (SDS)

Secret Discovery Service (SDS)는 xDS API 제품군의 핵심 구성 요소 중 하나로, 데이터 플레인 구성 요소에 TLS 및 SSL 인증서와 같은 보안 자격 증명을 동적으로 전달하는 데 특화되어 있다. SDS는 서비스 메시와 같은 현대 클라우드 네이티브 환경에서 보안 정책의 중앙 집중식 관리와 자동화된 인증서 순환을 가능하게 한다. 이를 통해 각 애플리케이션 인스턴스나 프록시 서버가 로컬 파일 시스템에서 정적 파일로 자격 증명을 관리할 필요가 없어지며, 보안 키와 인증서의 수명 주기 관리가 크게 간소화된다.

SDS의 주요 작동 방식은 제어 평면이 SDS 서버 역할을 하여, 데이터 플레인 에이전트(예: Envoy Proxy)가 구독한 보안 자원(예: 개인 키, 서버 인증서, 신뢰할 수 있는 CA 인증서)의 업데이트를 스트리밍하는 것이다. 예를 들어, 새로운 인증서가 발급되면 제어 평면은 SDS를 통해 관련된 모든 데이터 플레인 구성 요소에 즉시 이를 배포할 수 있다. 이는 인증서 만료로 인한 서비스 중단 위험을 제거하고, 보안 취약점이 발견되었을 때 신속하게 키를 교체할 수 있는 능력을 제공한다.

이 서비스는 특히 마이크로서비스 아키텍처에서 중요한데, 수많은 서비스 간 통신에 상호 TLS 인증이 광범위하게 사용되기 때문이다. SDS는 이러한 대규모 환경에서 인증서 관리의 복잡성을 해결하는 데 필수적이다. 주요 구현체인 Envoy Proxy는 SDS를 네이티브로 지원하며, Istio나 Linkerd와 같은 서비스 메시 제어 평면은 SDS 프로토콜을 활용하여 데이터 플레인에 보안 구성을 전파한다.

SDS의 도입으로 인해 운영상의 장점이 크게 부각되었다. 보안 자격 증명의 배포와 갱신이 자동화되어 운영 부담이 줄어들고, 인증서 유출 시 빠른 무효화 및 교체가 가능해져 보안 상태가 강화된다. 또한, SDS는 xDS의 다른 구성 요소인 LDS와 RDS와 긴밀하게 통합되어, 보안 정책이 라우팅 및 트래픽 관리 정책과 일관되게 적용되도록 보장한다.

4. 작동 방식

xDS API의 작동 방식은 서비스 메시의 데이터 플레인 구성 요소(예: Envoy Proxy)와 제어 플레인 사이의 지속적인 구성 관리 및 동적 업데이트를 중심으로 이루어진다. 제어 플레인은 구성 정보의 중앙 집중식 소스 역할을 하며, 데이터 플레인에 위치한 xDS 클라이언트(예: Envoy)는 gRPC 스트림 또는 REST 엔드포인트를 통해 이 정보를 구독하고 폴링한다.

핵심 작동 절차는 다음과 같다. 먼저, xDS 클라이언트는 제어 플레인에 연결하여 필요한 발견 서비스(예: LDS, RDS)에 대한 구독을 시작한다. 제어 플레인은 초기 구성 상태를 전송하고, 이후 구성에 변경 사항이 발생할 때마다 델타 업데이트를 스트리밍하여 클라이언트에 실시간으로 알린다. 이를 통해 서비스 검색, 로드 밸런싱 정책, 트래픽 라우팅 규칙, 인증서와 같은 보안 설정이 중단 없이 동적으로 적용될 수 있다.

이러한 이벤트 기반 통신 모델은 서비스 메시 내 모든 프록시의 구성을 중앙에서 일관되게 관리하고 글로벌 정책을 즉시 전파할 수 있게 한다. 결과적으로 애플리케이션은 재배포 없이도 트래픽 제어, 장애 조치, 보안 정책 변경 등을 즉시 반영할 수 있으며, 이는 클라우드 네이티브 환경과 마이크로서비스 아키텍처의 핵심 요구사항을 충족시킨다.

5. 주요 구현체

5.1. Envoy Proxy

Envoy Proxy는 xDS API의 참조 구현체이자 가장 널리 사용되는 데이터 플레인 프록시이다. Lyft에 의해 개발되어 2016년에 공개된 Envoy는 현대 클라우드 네이티브 애플리케이션, 특히 마이크로서비스 아키텍처와 서비스 메시의 핵심 구성 요소로 자리 잡았다. 이 프록시는 애플리케이션 컨테이너와 함께 사이드카 패턴으로 배포되어, 서비스 간의 모든 네트워크 트래픽을 중재하고 관리하는 역할을 한다.

Envoy의 핵심 기능은 xDS API를 통해 동적으로 구성된다. 컨트롤 플레인은 Listener Discovery Service (LDS), Route Discovery Service (RDS), Cluster Discovery Service (CDS), Endpoint Discovery Service (EDS) 등의 xDS 프로토콜을 사용하여 Envoy에게 수신 포트, 라우팅 규칙, 업스트림 클러스터 및 엔드포인트 정보를 실시간으로 전달한다. 이를 통해 서비스 검색, 로드 밸런싱, 트래픽 라우팅, 회로 차단, 장애 조치 등의 정책을 중앙에서 선언적으로 관리하고 즉시 적용할 수 있다.

이러한 동적 구성 능력 덕분에 Envoy는 높은 수준의 관측 가능성, 신뢰성, 보안을 제공한다. Envoy는 자동으로 트래픽 메트릭, 로그, 분산 추적 데이터를 수집하여 시스템의 상태를 가시화한다. 또한 Secret Discovery Service (SDS)를 통해 TLS 인증서와 같은 보안 자격 증명을 안전하게 배포하고 순환시킬 수 있어, 서비스 간 통신의 보안을 강화한다.

Envoy는 Istio, Consul Connect와 같은 주요 서비스 메시 솔루션의 기본 데이터 플레인으로 채택되었다. 또한 AWS App Mesh, Google Cloud Platform의 Traffic Director 등 클라우드 제공업체의 관리형 서비스 메시에서도 Envoy를 기반으로 구축되었다. 이처럼 Envoy는 xDS 생태계의 사실상의 표준 구현체로서, 현대 분산 시스템의 네트워킹 문제를 해결하는 데 필수적인 인프라가 되었다.

5.2. gRPC

gRPC는 구글이 개발한 고성능 오픈 소스 원격 프로시저 호출 프레임워크이다. xDS API는 gRPC를 통한 스트리밍 연결을 주요 전송 프로토콜로 채택하고 있으며, 이는 xDS 클라이언트(예: Envoy Proxy)와 관리 서버(예: 컨트롤 플레인) 간의 효율적인 통신을 가능하게 한다. gRPC의 양방향 스트리밍 기능은 구성 정보의 실시간 구독과 갱신을 지원하여, 서비스 메시 환경에서 필요한 동적 서비스 검색과 정책 배포에 이상적이다.

xDS API의 핵심 구성 요소인 Listener Discovery Service, Route Discovery Service, Cluster Discovery Service, Endpoint Discovery Service 등은 모두 gRPC 서비스 인터페이스로 정의된다. 이를 통해 클라이언트는 단일 지속적인 gRPC 연결을 통해 여러 유형의 구성 리소스를 요청하고 지속적으로 업데이트를 수신할 수 있다. 이 방식은 폴링 방식에 비해 네트워크 오버헤드를 줄이고 구성 변경 사항을 데이터 플레인에 거의 실시간으로 전파할 수 있는 장점을 제공한다.

gRPC는 프로토콜 버퍼를 기본 직렬화 메커니즘으로 사용하여, xDS 메시지의 구조를 엄격하게 정의하고 효율적으로 인코딩한다. 이로 인해 JSON이나 YAML과 같은 텍스트 기반 형식보다 메시지 크기가 작고 처리 속도가 빠르다. 결과적으로, 대규모 마이크로서비스 아키텍처 환경에서 수많은 프록시 인스턴스가 중앙 컨트롤 플레인과 빈번하게 통신해야 하는 xDS의 요구 사항을 잘 충족시킨다.

6. 장점과 이점

xDS API의 주요 장점은 중앙 집중식 제어 평면을 통해 분산된 데이터 플레인 구성 요소들의 구성을 동적으로 관리할 수 있다는 점이다. 이를 통해 운영자는 각 프록시 인스턴스를 개별적으로 재시작하거나 재구성하지 않고도, 중앙에서 트래픽 라우팅 규칙, 로드 밸런싱 정책, 보안 인증서, 서비스 검색 정보 등을 실시간으로 배포하고 업데이트할 수 있다. 이는 마이크로서비스 아키텍처 환경에서 수백, 수천 개에 달하는 서비스 인스턴스들의 네트워크 동작을 글로벌하게 제어해야 할 때 매우 큰 운영상의 효율성을 제공한다.

또 다른 핵심 이점은 API의 범용성과 프로토콜 독립성에 있다. xDS API는 특정 RPC 프레임워크나 프로토콜에 종속되지 않는 표준화된 인터페이스를 정의한다. 이는 HTTP, HTTP/2, gRPC, TCP 등 다양한 애플리케이션 프로토콜을 일관된 방식으로 관리할 수 있게 하며, Envoy Proxy와 같은 다양한 데이터 플레인 구현체가 동일한 제어 평면과 통신할 수 있는 기반을 마련한다. 결과적으로 사용자는 인프라의 데이터 플레인 구성 요소를 유연하게 선택하거나 변경할 수 있는 자유도를 얻는다.

이러한 설계는 클라우드 네이티브 환경에서 요구되는 높은 수준의 자동화와 탄력성을 실현하는 데 기여한다. 예를 들어, 새로운 서비스 버전이 배포되거나 컨테이너 인스턴스가 확장/축소될 때, xDS API를 통해 제어 평면은 관련된 엔드포인트 정보와 라우팅 구성을 데이터 플레인에 즉시 전파할 수 있다. 이는 서비스 중단 없이 카나리아 배포나 A/B 테스트를 수행하고, 장애가 발생한 인스턴스로의 트래픽을 신속하게 차단하는 등 정교한 트래픽 관리와 고가용성을 보장한다.

7. 사용 사례

xDS API는 서비스 메시 아키텍처의 핵심 구성 요소로서, 마이크로서비스 환경에서 네트워크 트래픽을 지능적으로 관리하고 제어하는 다양한 사용 사례를 지원한다. 주로 Envoy Proxy와 같은 데이터 플레인 프록시의 구성을 동적으로 제공하는 데 사용되며, 이를 통해 운영 복잡성을 줄이고 애플리케이션의 민첩성과 안정성을 높인다.

주요 사용 사례로는 동적 서비스 검색과 로드 밸런싱이 있다. 마이크로서비스가 지속적으로 생성, 확장 또는 종료되는 환경에서 xDS API는 Endpoint Discovery Service (EDS)를 통해 백엔드 서비스 인스턴스(엔드포인트)의 실시간 목록을 데이터 플레인에 전달한다. 이를 통해 프록시는 서비스 레지스트리에 직접 질의하지 않고도 최신 상태의 인스턴스에 트래픽을 분산시킬 수 있으며, 상태 확인 결과에 기반한 지능형 로드 밸런싱이 가능해진다.

또한, 세분화된 트래픽 관리와 보안 정책 적용에 널리 활용된다. Route Discovery Service (RDS)를 통해 경로 규칙을 동적으로 변경함으로써 카나리아 배포, A/B 테스트, 장애 조치 시나리오를 구현할 수 있다. 동시에 Listener Discovery Service (LDS)와 Secret Discovery Service (SDS)는 TLS 설정과 인증서를 중앙에서 관리하고 배포하여 서비스 간 mTLS 암호화를 강화하고, 인가 정책을 적용하는 보안 메시의 기반을 제공한다.

마지막으로, 관측 가능성과 다중 클라우드/하이브리드 환경 통합에서도 그 가치가 발휘된다. xDS API는 액세스 로그, 지표, 추적 데이터의 수집 구성을 중앙 제어 플레인을 통해 일관되게 관리할 수 있게 한다. 또한, API의 표준화된 인터페이스는 다양한 환경(퍼블릭 클라우드, 프라이빗 데이터센터, 쿠버네티스)에 배포된 프록시에 일관된 정책과 구성을 전파하는 것을 가능하게 하여 통합된 네트워킹 레이어를 구성하는 데 기여한다.

8. 관련 기술 및 표준

xDS API는 서비스 메시와 클라우드 네이티브 애플리케이션 생태계 내에서 여러 관련 기술 및 표준과 긴밀하게 연동되거나 비교 대상이 된다. 가장 직접적인 관련 기술은 서비스 메시 구현체 자체로, Istio와 Linkerd가 대표적이다. 이들 서비스 메시는 데이터 플레인으로 Envoy Proxy나 다른 프록시를 사용하며, xDS API를 통해 이들 프록시에 구성 정보를 동적으로 전달한다. 따라서 xDS는 서비스 메시의 제어 플레인과 데이터 플레인을 연결하는 핵심 프로토콜 역할을 한다.

네트워킹 및 서비스 발견 분야에서는 기존의 DNS와 비교된다. DNS는 정적인 서비스 엔드포인트 검색에 주로 사용되는 반면, xDS API는 상태, 부하, 위치 정보를 포함한 훨씬 더 풍부하고 동적인 구성 데이터를 실시간으로 전송할 수 있다. 또한, 로드 밸런싱 알고리즘과 트래픽 관리 정책을 세밀하게 제어할 수 있어, 전통적인 하드웨어 로드 밸런서나 소프트웨어 솔루션들이 제공하는 기능을 프로그램 가능한 방식으로 구현한다.

표준 측면에서는 gRPC 프로토콜이 xDS의 주요 전송 매커니즘으로 채택되었다. gRPC는 HTTP/2를 기반으로 하는 고성능 RPC 프레임워크로, 양방향 스트리밍을 지원하여 xDS의 실시간 구독-기반 발견 모델에 이상적이다. 또한, xDS의 구성 리소스(리스너, 라우트, 클러스터 등)는 구조화된 데이터 형식(예: Protocol Buffers)으로 정의되어 있어, JSON이나 YAML과 같은 선언형 구성 파일과도 연동될 수 있다. 이러한 설계는 Kubernetes의 선언형 API 및 컨테이너 오케스트레이션 철학과도 맥을 같이한다.

9. 여담 및 관련 문서

  • Envoy 공식 문서 - xDS API

  • gRPC 공식 문서 - xDS Configuration

  • Istio 공식 블로그 - Understanding xDS in Istio

  • CNCF Cloud Native Glossary - xDS

  • InfoQ - Envoy와 xDS: 동적 서비스 메시 구성

  • IBM Developer - Istio의 트래픽 관리 이해하기

  • The New Stack - How Envoy's xDS Protocol Enables Dynamic Service Mesh Configuration

  • ACM Digital Library - The Design and Implementation of a Dynamic Service Mesh

리비전 정보

버전r1
수정일2026.02.23 14:06
편집자unisquads
편집 요약AI 자동 생성