Envoy Proxy
Envoy (nebo také Envoy Proxy) je vysoce výkonný open-source síťový proxy server a komunikátor, který je navržen speciálně pro moderní cloud-native aplikace a mikroslužbovou architekturu. Původně jej vyvinula společnost Lyft a dnes je klíčovým projektem zastřešeným nadací CNCF (Cloud Native Computing Foundation).
Jak Envoy funguje a k čemu slouží?
V tradičních architekturách spolu aplikace komunikují napřímo. V mikroslužbách ale narůstá počet požadavků a komunikace se stává složitou. Envoy se umísťuje jako tzv. sidecar proxy vedle každé instance aplikace nebo jako centrální API brána (API Gateway).
Všechna síťová komunikace (příchozí i odchozí) pak prochází přes Envoy, což umožňuje centralizovaně řídit bezpečnost, sledovatelnost a spolehlivost provozu.
| Komponenta / Vlastnost | Popis |
|---|---|
| Service Mesh | Envoy tvoří datovou rovinu (data plane) pro populární service meshe, jako je Istio. |
| Dynamická konfigurace | Umožňuje měnit nastavení, směrování a certifikáty za běhu bez nutnosti restartu serveru. |
| API Gateway | Funguje jako vstupní bod pro externí klienty, kde zajišťuje směrování, autentizaci a limitování požadavků (rate limiting). |
Klíčové vlastnosti Envoy
* Pokročilé směrování a load balancing: Podporuje automatické vyvažování zátěže, retry politiky, circuit breaking (ochranu proti přetížení služeb) a stínování provozu (shadowing). * Špičková pozorovatelnost (Observability): Automaticky generuje detailní metriky, protokoly o přístupu (access logs) a distribuované trasování (tracing), což extrémně usnadňuje debugging. * Podpora moderních protokolů: Nativně rozumí HTTP/1.1, HTTP/2, gRPC, TCP, UDP a dalším protokolům. * Bezpečnost: Zajišťuje automatické šifrování komunikace pomocí mTLS (Mutual TLS), ověřování totožnosti a řízení přístupu.
Zajímavost: Envoy je napsaný v jazyce C++, což mu zajišťuje extrémně vysoký výkon a minimální paměťovou náročnost při zpracování milionů požadavků za sekundu.
