• Istio 是一个用于服务治理的开放平台
  • Istio 是一个 Service Mesh 形态的用于服务治理的开放平台
  • Istio 是一个与 Kubernetes 紧密结合的适用于云原生场景的 Service Mesh 形态的用于服务治理的开放平台。

这里的关键字“治理”不局限于“微服务治理”的范畴,任何服务,只要服务间有访问,如果需要对服务间的访问进行管理,就可以使用 Istio。

根据 Istio 官方的介绍,服务治理设计连接(Connect)、安全(Secure)、策略执行(Control)和可观察性(Observe)。

  • 连接:Istio 通过集中配置的流量规则控制服务间的流量和调用,实现负载均衡、熔断、故障注入、重试、重定向等服务治理功能。
  • 安全:Istio 提供透明的认证机制、通道加密、服务访问授权等安全能力,可增强服务访问的安全性。
  • 策略执行:Istio 通过可动态插拔、可扩展的策略实现访问控制、速率限制、配置管理、服务计费等能力。
  • 可观察性:动态获取服务运行数据和输出,提供强大的调用链、监控和调用日志收集输出的能力。配合可视化工具,更方便运维人员了解服务的运行状况,发现并解决问题。

在 Istio 0.1 发布时,Istio 官方的第一篇声明(https://istio.io/blog/2017/0.1-announcement/)强调了 Istio 提供的重要能力。

  • 服务运行可观察性:监控应用及网络相关数据,将相关指标与日志记录发送至任意收集、聚合与查询系统中以实现功能扩展,追踪分析性能热点并对分布式故障模式进行诊断。
  • 弹性与效率:提供了统一的方法配置重试、负载均衡、流量控制和断路器等来解决网络可靠性低所造成的各类常见故障,更轻松地运维高弹性服务网格。
  • 研发人员生产力:确保研发人员专注于基于已选择的编程语言构建业务功能,不用在代码中处理分布式系统的问题,从而极大地提升生产能力。
  • 策略驱动型运营:解耦开发和运维团队的工作,在无须更待代码的前提下提升安全性、监控能力、扩展性与服务拓扑水平。运营人员能够不依赖开发提供的能力精确控制生产流量。
  • 默认安全:允许运营人员配置 TLS 双向认证并保护各服务之间的所有通信,并且开发人员和运维人员不用维护证书,以应对分布式计算中经常存在的大量网络安全问题。
  • 增量使用:考虑到在网络内运行的个服务的透明性,允许团队按照自己的节奏和需求逐步使用各项功能,例如先观察服务运行情况再进行服务治理等。