为什么要使用Istio

在从单体应用程序向分布式微服务架构的转型过程中,开发人员和运维人员面临诸多挑战,使用 Istio 可以解决这些问题。随着规模和复杂性的增长,服务网格越来越难以理解和管理,包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求,例如 A/B 测试、金丝雀发布、限流、访问控制和端到端认证等。Istio 提供了一个完整的解决方案,可洞察并控制整个服务网格的行为,满足微服务应用程序的多样化需求。

Istio 提供了一种简单的方式对已部署的服务进行管理,不用修改服务代码或少量修改即可。只需要在你的环境中部署一个特殊的 sidecar 代理,使用 Istio 配置和管理代理,拦截微服务之间的所有网络通信,就能达到以下功能:

1)HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡。

2)通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制。

3)可插入的策略层和配置 API,支持访问控制、速率限制和配额。

4)对经过集群入口和出口中的所有流量进行自动度量、日志记录和追踪。

5)有强大的基于身份的验证和授权,在集群中实现安全的服务间通信。

云原生应用程序中,Istio对应用程序层起支持作用,部署位置如下图:


Istio在“部署平台”和“应用程序业务逻辑”之间扮演了连接角色,可以执行基于内容的路由,或进行细粒度的流量控制和路由;还可以保护传输和卸载安全令牌验证,或者实施服务运维人员定义的配额和使用策略等。

更多内容,参见《Istio服务网格技术解析与实践》一书,由阿里云高级技术专家王夕宁撰写,详细介绍Istio的基本原理与开发实战,包含大量精选案例和参考代码可以下载,可快速入门Istio开发。


你可能感兴趣的:(为什么要使用Istio)