Istio - Introduction

简介: 为了了解 Istio & Service Mesh 技术的出现方式或原因,可以先研究一下它试图解决的问题的根源,以及如果没有这项新技术,世界将是什么样子。

为了了解工具或技术的出现方式或原因,可以先研究一下它试图解决的问题的根源,以及如果没有这项新技术,世界将是什么样子。

微服务已经在业界有大量的落地案例,它的架构旨在将大型的单体应用程序分解为通过HTTP协议相互通信的小型单元。


微服务痛点

 但服务治理方面的挑战也随之而来:

  • 在众多的微服务中识别根本的故障原因
  • 不同的开发语言与框架的治理能力差异
  • 治理逻辑与业务逻辑耦合造成的复杂性

image.jpeg



什么是Istio?

Istio 是 Google、IBM、Lyft 共同开源的服务网格解决方案,希腊语为起航的意思,用于对微服务进行管理、监控、护航。


微服务架构解决了一些问题,但也引入了其他的问题,类似传统的服务治理需要对代码侵入并且语言绑定,这将给整体带来较高的架构复杂度及增加异常的风险。


但有了Istio,可以轻松的对已有的应用进行添加治理功能,让应用程序和治理逻辑解耦,降低架构的复杂度和减轻开发团队的负担。

image.jpeg


什么是服务网格?

服务网格是处理服务之间通信的专用基础设施层。它负责通过复杂的服务拓扑可靠地传递请求,服务网格通常被实现为一系列轻量级网络代理,这些代理以边车的方式与应用程序一起部署,对应用程序是透明且无侵入的。

image.jpeg

服务网格旨在表示网络代理像格子一样提供服务间的通讯能力


Istio核心功能

  • 流量管理

控制服务之间的流量和API调用流,使调用更可靠,并在不利条件下使网络更健壮。

  • 身份安全

为网状网络中的服务提供可验证的身份,并提供保护服务流量的能力,使其在不同程度的可信赖性网络上流动。

  • 策略管理

将策略应用于服务之间的交互,确保强制执行访问策略,并在消费者之间公平分配资源。策略更改是通过配置网格进行的,而不是通过更改应用程序代码来进行的。

  • 可观察性

了解服务之间的依赖性以及服务之间的流量的性质和流,从而提供快速识别问题的能力。


image.jpeg


Istio 架构形态

  • 数据平面

组件为Envoy,代理控制服务间的通讯且可以收集网络流量、拓扑信息等遥测功能。

  • 控制平面

组件为Istiod,负责配置和管理数据平面,提供控制平面及数据平面的编程抽象层。



image.jpeg

在Istio1.4及之前的版本,为Mixer、Pilot、Citadel、Galley等组件构成控制平面,但由Mixer性能处于严重的瓶颈并且架构复杂度高等原因,在1.5开始回归单体架构。


目录
相关文章
|
存储 缓存 Kubernetes
听GPT 讲Istio源代码--pilot(8)
听GPT 讲Istio源代码--pilot(8)
86 0
|
运维 监控 负载均衡
Istio 介绍
当下,微服务架构在构建和部署现代应用程序时变得越来越流行。然而,微服务架构的复杂性也随之增加,特别是在涉及到服务间通信、负载均衡、安全性和监控方面。在这个复杂的环境中,Istio成为了一个强大的工具,它可以帮助您管理和控制微服务应用程序的各个方面。本文将详细介绍Istio,并探讨其核心功能和优势。
|
4月前
|
Kubernetes 网络协议 安全
Istio安全-证书管理
Istio安全-证书管理
54 1
Istio安全-证书管理
|
存储 缓存 安全
听GPT 讲Istio源代码--pilot(3)
听GPT 讲Istio源代码--pilot(3)
56 0
|
存储 缓存 Kubernetes
听GPT 讲Istio源代码--pilot(7)
听GPT 讲Istio源代码--pilot(7)
62 0
|
存储 Kubernetes 安全
听GPT 讲Istio源代码--pilot
听GPT 讲Istio源代码--pilot
61 0
|
存储 Kubernetes 安全
听GPT 讲Istio源代码--pilot(2)
听GPT 讲Istio源代码--pilot(2)
59 0
|
存储 Kubernetes API
听GPT 讲Istio源代码--pilot(5)
听GPT 讲Istio源代码--pilot(5)
45 0
听GPT 讲Istio源代码--pilot(5)
|
存储 缓存 JSON
听GPT 讲Istio源代码--pilot(6)
听GPT 讲Istio源代码--pilot(6)
90 0
|
缓存 Kubernetes 负载均衡
听GPT 讲Istio源代码--pilot(4)
听GPT 讲Istio源代码--pilot(4)
65 0