2.0 KiB
bodyclass | headline | layout | sidenav | title | type |
---|---|---|---|---|---|
docs | Architecture | docs | doc-side-concepts-nav.html | Architecture | markdown |
The Istio service mesh consists of three major components:
Proxy
The Istio proxy is designed to mediate inbound and outbound traffic for all Istio-managed services. The Istio proxy is based on Envoy. Istio leverages Envoy's features such as dynamic service discovery, load balancing, TLS termination, HTTP/2 & gRPC proxying, circuit breakers, health checks, staged rollouts with %-based traffic split, fault injection, and a rich set of metrics. In addition, Istio extends the proxy to interact with the mixer to enforce various access control policies rate limiting, ACLs, as well as telemetry reporting.
Mixer
The Istio mixer is responsible for enforcing access control and usage policies across the service mesh and collects telemetry data from proxies and istio-managed services alike. The Istio proxy extracts request level attributes that are then evaluated by the mixer. More info on the attribute extraction and policy evaluation can be found here. The mixer includes a flexible plugin model enabling it to interface to a variety of host environments and configured backends, abstracting the proxy and Istio-managed services from these details.
Manager
The Istio manager serves as an interface between the user and Istio, collecting configuration, validating it and propagating it to various components. It abstracts platform-specific implementation details from the mixer and proxies, providing them with an abstract representation of user's services that is independent of the underlying platform. In addition, traffic management rules (i.e. generic layer-4 rules and layer-7 HTTP/gRPC routing rules) can be programmed at runtime via the Istio Manager.