Envoy Proxy Prototype
This is an example to illustrate the use of Envoy as a service sidecar proxy in a service orientated architecture.
Envoy is also used at the edge, as a layer 7 proxy, to route HTTP requests to the backend HTTP services via there respective Envoy proxy.
Each backend service connects onto dependent services, such as Postgres, Redis and RabbitMQ, via Envoy as a TCP proxy.
This provides a number of benefits, the greatest being for operational visibility, since all network traffic is proxied by Envoy, and Envoy is fully instrumented, it's possible to collect and collate all the metrics into a single dashboard.
TODO
- gateway
- http routing
- admin interface
- service which consumes postgres
- postgres tcp routing
- admin interface
- service which consumes redis
- redis tcp routing
- admin interface
- service which consumes rabbitmq
- publisher
- subscriber (worker)
- rabbitmq tcp routing
- admin interface
- metrics collection via prometheus
- zipkin
- grafana
- envoy dashboard
- service dashboard
- prometheus dashboard
- grafana dashboard
- service discovery
- vagrant setup
- architecture diagrams
- complete readme
Overview
Architecture
Flows
What's Not Implemented
Prerequisites
Linux Install
Windows Install
Getting Started
Development Environment
Code Tour
Consuming the API
Notes
Further Reading
- Microsoft Architecture: Sidecar Pattern
- Dave's Two Cents: Sidecar Pattern
- Spring Cloud Series: Microservices Sidecar Pattern
- Microservices Patterns With Envoy Sidecar Proxy: The series
- Microservices.io: Sidecar Pattern
- Envoy Documentation
- Grafana Documentation: Provisioning
- Preconfigured Dashboards in Grafana 5
- Grafana Documentation: Installation
- Guide to authoring Docker images
- Container best practices
- The Easiest Way to Roll Out Envoy
- Incremental Blue/Green Deploys
- Envoy Stats
- Envoy Dashboards
- A Basic Service Mesh with Envoy
- Connect your Service Discovery to Envoy
- Envoy Documentation: HTTP Router Configuration
- Envoy Source Code
License
MIT License. Copyright (c) 2018 Chris Stefano. See LICENSE for details.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
