Envoy

Introduction

Envoy is an L7 high-performance proxy and communication bus developed in C++ and designed for large modern service-oriented architectures.

Envoy has many other high-level features, but the ones mentioned above make it perfect to be used as a sidecar proxy in a service mesh.

Two core concepts about Envoy are related to this tutorial:

1. HTTP Connection Management

HTTP is such a critical component of modern service-oriented architectures that Envoy implements a large amount of HTTP-specific functionality.

Envoy has a built-in network-level filter called the HTTP connection manager, which translates raw bytes into HTTP level messages and events (e.g., headers received, body data received, trailers received, etc.). It also handles functionality common to all HTTP connections and requests, such as access logging, request ID generation and tracing, request/response header manipulation, route table management, and statistics.

2. Access Logging

When used in a service-mesh scenario, for example, in Notion/Others/Rohit Ghumare (Public Notion Template)/Tools/Istio/Istio, the simplest kind of logging is Envoy's access logging.

Envoy proxies print access information to their standard output. The kubectl logs command can print Envoy's containers' standard output.

Source

Also Read

Thoughts 🤔 by Soumendra Kumar Sahoo is licensed under CC BY 4.0