envoy

Envoy is an L7 proxy and communication bus designed for large modern service oriented architectures. The project was born out of the belief that:

The network should be transparent to applications. When network and application problems do occur it should be easy to determine the source of the problem.

high level features:

  • Out of process architecture: Envoy is a self contained process that is designed to run alongside every application server
  • Out of process architecture: Envoy is a self contained process that is designed to run alongside every application server
  • Modern C++11 code base: Envoy is written in C++11.
  • L3/L4 filter architecture: At its core, Envoy is an L3/L4 network proxy
  • HTTP L7 filter architecture: HTTP is such a critical component of modern application architectures that Envoy supports an additional HTTP L7 filter layer.
  • First class HTTP/2 support: When operating in HTTP mode, Envoy supports both HTTP/1.1 and HTTP/2
  • HTTP L7 routing: When operating in HTTP mode, Envoy supports a routing subsystem that is capable of routing and redirecting requests based on path, authority, content type, runtime values, etc.
  • Service discovery and dynamic configuration: Envoy optionally consumes a layered set of dynamic configuration APIs for centralized management.
  • Health checking: The recommended way of building an Envoy mesh is to treat service discovery as an eventually consistent process.
  • Advanced load balancing