从较高的层面来说,Istio 有助于降低这些部署的复杂性,并减轻开发团队的压力 。
它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里 。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的 API 接口 。
Istio 多样化的特性使我们能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法 。
核心特性Istio 以统一的方式提供了许多跨服务网格的关键功能:

文章插图
①流量管理
Istio 简单的规则配置和流量路由允许我们控制服务之间的流量和 API 调用过程 。
Istio 简化了服务级属性(如熔断器、超时和重试)的配置,并且让它轻而易举的执行重要的任务(如 A/B 测试、金丝雀发布和按流量百分比划分的分阶段发布) 。
有了更好的对流量的可视性和开箱即用的故障恢复特性,我们就可以在问题产生之前捕获它们,无论面对什么情况都可以使调用更可靠,网络更健壮 。
②安全
Istio 的安全特性解放了开发人员,使其只需要专注于应用程序级别的安全 。
Istio 提供了底层的安全通信通道,并为大规模的服务通信管理认证、授权和加密 。
有了 Istio,服务通信在默认情况下就是受保护的,可以在跨不同协议和运行时的情况下实施一致的策略,而所有这些都只需要很少甚至不需要修改应用程序 。
Istio 是独立于平台的,可以与 Kubernetes(或基础设施)的网络策略一起使用 。
但它更强大,能够在网络和应用层面保护 Pod 到 Pod 或者服务到服务之间的通信 。
③可观察性
Istio 健壮的追踪、监控和日志特性让我们能够深入的了解服务网格部署 。通过 Istio 的监控能力,可以真正的了解到服务的性能是如何影响上游和下游的 。
而它的定制 Dashboard 提供了对所有服务性能的可视化能力,并让我们看到它如何影响其他进程 。
Istio 的 Mixer 组件负责策略控制和遥测数据收集 。它提供了后端抽象和中介,将一部分 Istio与后端的基础设施实现细节隔离开来,并为运维人员提供了对网格与后端基础实施之间交互的细粒度控制 。
所有这些特性都使我们能够更有效地设置、监控和加强服务的 SLO 。当然,底线是我们可以快速有效地检测到并修复出现的问题 。
④平台支持
Istio 独立于平台,被设计为可以在各种环境中运行,包括跨云、内部环境、Kubernetes、Mesos 等等 。
我们可以在 Kubernetes 或是装有 Consul 的 Nomad 环境上部署 Istio 。
Istio 目前支持:
- Kubernetes 上的服务部署 。
- 基于 Consul 的服务注册 。
- 服务运行在独立的虚拟机上 。
Istio 的策略实施组件可以扩展和定制,与现有的 ACL、日志、监控、配额、审查等解决方案集成 。
流程架构Istio 服务网格逻辑上分为数据平面(Control Plane)和控制平面(Data Plane),架构图如下所示:

文章插图
数据平面(Data Plane)
由一组以 Sidecar 方式部署的智能代理 Envoy 组成 。Envoy 被部署为 Sidecar,和对应服务在同一个 Kubernetes pod 中 。
这允许 Istio 将大量关于流量行为的信号作为属性提取出来,而这些属性又可以在 Mixer 中用于执行策略决策,并发送给监控系统,以提供整个网格行为的信息 。
这些代理可以调节和控制微服务及 Mixer 之间所有的网络通信 。
控制平面(Control Plane)
负责管理和配置代理来路由流量,此外配置 Mixer 以实施策略和收集遥测数据 。
主要包含如下几部分内容:
- Mixer:策略和请求追踪 。
- Pilot:提供服务发现功能,为智能路由(例如 A/B 测试、金丝雀部署等)和弹性(超时、重试、熔断器等)提供流量管理功能 。
- Citadel:分发 TLS 证书到智能代理 。
- Sidecar injector:可以允许向应用中无侵入的添加功能,避免为了满足第三方需求而添加额外的代码 。
①什么是 Sidecar 模式?
Sidecar 是一种将应用功能从应用本身剥离出来作为单独进程的设计模式,可以允许向应用中无侵入的添加功能,避免为了满足第三方需求而添加额外的代码 。
在软件架构中,Sidecar 附加到主应用,或者叫父应用上,以扩展、增强功能特性,同时 Sidecar 与主应用是松耦合的 。
推荐阅读
- 大带宽服务器用途及租用要注意什么?
- 使用 PowerDNS 轻松配置 DNS 名称服务器
- Windows WDS服务安装配置
- 燃料电池是通过什么产生电 微生物燃料电池的应用
- 微信使用的这六款开源代码,你用过哪一个?
- 微服务和API之间的本质区别
- 关于微服务的几点老板关心问题
- 如何同步老婆微信聊天?
- iMac|微软尴尬了!2006年“古董级”iMac也能装Win11:正常运行无压力
- 甲状腺微粒体抗体
