1.3 Istio的架构设计

上一章

1.3.2 控制平面

下一章

更多图书

1.3.1 数据平面

Istio在数据平面中使用一个Envoy代理的扩展版本。Envoy是使用C++语言开发的高性能代理,它能拦截服务网络中所有服务的入口和出口流量。Istio利用了众多Envoy内置的功能特性,例如:

·动态服务发现

·负载均衡

·TLS终止

·HTTP/2和gRPC代理

·熔断器

·健康检查

·基于百分比流量分隔的灰度发布

·故障注入

·丰富的度量指标

Envoy作为一个边车与对应的服务部署在同一个Kubernetes Pod中。这种部署方式使得Istio能提取丰富的流量行为信号作为属性。Istio又可以反过来使用这些数据在Mixer中进行策略决策,并发送这些数据到监控系统中,提供整个网络中的行为信息。

采用边车部署方式,可以把Istio的功能添加到一个已经存在的部署中,并且不需要重新构建或者重新编写代码。