Envoy Knowledge

Kip Landergren

(Updated: )

My Envoy knowledge base explaining an overview, the core idea, and key concepts.

Contents

Overview

Envoy was born out of a few intertwining needs:

And what was created boils down to:

Core Idea

Make network transparent to applications.

Key Concepts

architecture-wise:

big ideas:

here is how it works:

envoy can also be configured as a strict TCP proxy where all TCP traffic is passed through.

On configuration:

Components

Filters

Network-Level Filters

HTTP Filters

Route Tables

A component of Filters that matches the route for a filter.

configuration as a service

evidently envoy can be configured to talk to a configuration service rather than rely on files?

Cluster Manager

HTTP Connection Manager

xDS (* Discovery Service)

Cluster Discovery Service (CDS)

Service Discovery

gRPC support

gRPC-web support

Envoy Terminology

cluster
A cluster is a group of logically similar upstream hosts that Envoy connects to. Envoy discovers the members of a cluster via service discovery. It optionally determines the health of cluster members via active health checking. The cluster member that Envoy routes a request to is determined by the load balancing policy.
downstream
A downstream host connects to Envoy, sends requests, and receives responses
host
An entity capable of network communication (application on a mobile phone, server, etc.). In this documentation a host is a logical network application. A physical piece of hardware could possibly have multiple hosts running on it as long as each of them can be independently addressed.
listener
A listener is a named network location (e.g., port, unix domain socket, etc.) that can be connected to by downstream clients. Envoy exposes one or more listeners that downstream hosts connect to.
mesh
A group of hosts that coordinate to provide a consistent network topology. In this documentation, an “Envoy mesh” is a group of Envoy proxies that form a message passing substrate for a distributed system comprised of many different services and application platforms.
runtime configuration
Out of band realtime configuration system deployed alongside Envoy. Configuration settings can be altered that will affect operation without needing to restart Envoy or change the primary configuration.
upstream
An upstream host receives connections and requests from Envoy and returns responses