在业务应用迁移或者新建到云原生技术栈的场景下,开发人员在分布式或微服务架构方面面临诸多挑战,如何只专注与业务逻辑开发,服务网络Istio给出了很好的解决方案。
Istio 是一个开源服务网格,是一种实现负载均衡、服务到服务身份验证和监控的途径。Istio 有两个组件:数据平面和控制平面。
图片来源:Istio网站
控制平面的功能包括:
- 通过 TLS 加密、基于身份的强身份验证和授权,在集群中实现安全的服务到服务通信
- HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡
- 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制
- 支持访问控制、速率限制和配额的可插拔策略层和配置 API
- 集群内所有流量(包括集群入口和出口)的自动指标、日志和跟踪
数据平面是服务之间的通信。服务网格使用代理来拦截所有网络流量。Envoy 代理与群集中启动的每个服务一起部署。