This page looks best with JavaScript enabled

Dynamic Proxy Envoy

 ·  β˜• 2 min read

Envoy is the third project to graduate from the CNCF, and thanks to features like dynamic configuration and high performance it has become the de facto data plane standard in cloud native. Many projects rely on Envoy to handle data plane traffic while focusing their own efforts on adapting the control plane to their application scenarios, writing user input into Envoy over the xDS protocol.

1. Envoy Data Processing Flow

Where

  • Downstream, the traffic entering Envoy, the client request

  • Listener, the listener that establishes the connection with the client

  • Network Filter Chain, handles TCP requests from Listener to Cluster

  • HTTP Router Filter, handles HTTP requests from Listener to Cluster

  • Cluster, a group of upstream service nodes that receive requests

  • Upstream, the traffic leaving Envoy, the response to the request

2. Envoy Data Plane API

xDS is the collective name for a series of service discovery protocols such as LDS, RDS, CDS, EDS, and SDS. [1]

The stages that several of the typical protocols target are shown below:

The xDS protocol is a set of APIs that can dynamically modify and fetch configuration.

2.1 LDS

Listener Discovery Service, abbreviated LDS

LDS listens for L3/L4 layer requests, and can be used for rate limiting, client authentication, HTTP connection management, TCP proxying, and more.

2.2 RDS

Route Discovery Service, abbreviated RDS

RDS provides HTTP route management, forwarding matched traffic to a Cluster.

2.3 CDS

Cluster Discovery Service, abbreviated CDS

Unlike a Kubernetes Cluster, the Cluster here refers to the external abstraction of a service. CDS provides create, read, update, and delete operations for Clusters.

2.4 EDS

Endpoint Discovery Service, abbreviated EDS.

A group of Endpoints forms a Cluster. EDS can provide smarter load balancing strategies and additional information than DNS.

2.5 SDS

Secret Discovery Service, abbreviated SDS.

Without SDS, updating a certificate requires redeployment; with SDS, the new certificate is delivered directly to all Envoy instances without redeployment.

2.6 ADS

Aggregated Discovery Service, abbreviated ADS.

A single discovery service cannot guarantee the consistency or ordering of changes β€” for example, some instances request EDS first while others request CDS first. ADS lets Envoy process multiple resources at once, solving the consistency and ordering problems of configuration.


WeChat Official Account
WRITTEN BY
WeChat Official Account