istio为什么能代替传统的SpringCloud 服务网格Istio概述

服务网格Istio概述

    • 什么是服务网格(Service Mesh)?
    • istio简介
    • 边车模式(Sidecar)
    • 为什么istio能代替传统SpringCloud?
    • 整体架构

首先奉上 istio官网

什么是服务网格(Service Mesh)?

服务网格详解
服务网格(Service Mesh)是一个专门处理服务通讯的基础设施层。它的职责是在由云原生应用组成服务的复杂拓扑结构下进行可靠的请求传送。在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,并且对应用服务透明。

服务网格从总体架构上来讲比较简单,不过是一堆紧挨着各项服务的用户代理,外加一组任务管理组件组成。

管理组件被称为控制层或控制平面(control plane),负责与控制平面中的代理通信,下发策略和配置。

代理在服务网格中被称为数据层或数据平面(data plane),直接处理入站和出站数据包,转发、路由、健康检查、负载均衡、认证、鉴权、产生监控数据等。

istio简介

istio是一款开源的服务网格平台, 在微服务项目中,若要对服务进行链路追踪,流量监控,指标监控、安全管理,日志管理等一系列操作,istio都可以以非嵌入式的方式对微服务项目进行服务治理,以透明层的方式构建在现有分布式应用中。它也是一个提供了各种API的平台,可以与任何日志平台、监控系统或策略系统集成。Istio的多样化特性可以让你高效地运行分布式微服务架构,并提供一种统一的方式来保护、连接和监控微服务。它是一个完全开源的服务网格,以透明层的方式构建在现有分布式应用中。它也是一个提供了各种API的平台,可以与任何日志平台、监控系统或策略系统集成。Istio的多样化特性可以让你高效地运行分布式微服务架构,并提供一种统一的方式来保护、连接和监控微服务。

从上面的定义中可以了解到,Istio为微服务应用提供了一个完整的解决方案,可以以统一的方式去检测和管理微服务。同时,它还提供了管理流量、实施访问策略、收集数据等功能,而所有这些功能都对业务代码透明,即不需要修改业务代码就能实现。

有了Istio,就几乎可以不需要其他的微服务框架,也不需要自己去实现服务治理等功能,只要把网络层委托给Istio,它就能帮助完成这一系列的功能。简单来说,Istio就是一个提供了服务治理能力的服务网格。

边车模式(Sidecar)

边车(Sidecar)模式设计思想的核心是将控制和逻辑分离,常用于我们在分布式架构中的逻辑和控制分离设计。迁移到我们的分布式架构中就是:我们不需要在服务中实现控制面上的东西,如监视、日志记录、限流、熔断、服务注册、协议适配转换等这些属于控制面上的东西,而只需要专注地做好和业务逻辑相关的代码,然后,由“边车”来实现这些与业务逻辑没有关系的控制功能。一文搞懂边车模式

为什么istio能代替传统SpringCloud?

在传统的SpringCloud应用中,举例以springcloudgateway作网关,nacos为注册中心,sentinel作流控,zipkin作链路追踪,这些操作想必java程序员都知道,最常用也是培训机构最喜欢以此录课一套,不可否认的是这一套的代码及结构都非常优秀,但是有一个极大的问题:与代码耦合,服务拓扑复杂之后难以管理,中间流控、链路追踪行为需针对每个服务与服务间去设置,耦合进代码。同时,若没有K8s的加持下,服务出现熔断或宕掉后,容灾操作也不便管理。

为了实现项目的多元化部署与容灾,Kubernetes应运而生,自然地,微服务的项目运行得以保障,随之而来的是以下问题:

  1. nacos或feign再套一层Kubernetes,服务间调用链路增加;
    从ingress到网关再到项目,每个请求几乎都多一层调用
  2. 各个组件需要以不同方式嵌入进代码,非统一化,不易管控。
    对于老项目的改造是非常谨慎的,若想给老项目加上一个新监控组件,指不定会影响项目本身运行
  3. 针对服务与服务间的东西流量不易监控
    例如电商系统中有订单服务和商品服务以及优惠券服务,三个服务间相互调用,如何知晓哪两个服务间流量大?如何统一管控?
  4. 多语言的微服务,监控方式难以联动
  5. 传统的SpringCloud,针对feign请求要到注册中心找到对应服务,再到服务对应的service,不如直接通过kubernete路由到service,pod的数量由在service管控下,nacos也只能再路由service去,不能直接到达

以上问题 istio可以提供支持
功能例如
服务发现、负载均衡、故障恢复、度量和监控
A/B 测试、金丝雀发布、速率限制、访问控制和端到端认证

整体架构

Istio服务网格逻辑上分为数据面板和控制面板。
isto结构
Istio的架构从逻辑上分成数据平面(Data Plane)和控制平面(Control Plane)。Kubernetes的架构也具有相似的结构,分为控制节点和计算节点。毫无疑问,这样的设计可以很好地解耦各个功能组件。

数据平面:由一组和业务服务成对出现的Sidecar代理(Envoy)构成,它的主要功能是接管服务的进出流量,传递并控制服务和Mixer组件的所有网络通信
控制平面:主要包括了Pilot、Mixer、Citadel和Galley共4个组件,主要功能是通过配置和管理Sidecar代理以非嵌入式代码的形式来进行流量控制,并配置Mixer去执行策略和收集遥测数据(Telemetry),最后在 Kiali仪表板上展示。
博主运行环境为kubernete1.27,已去除docker作为依赖,当利用ingressgateway作网关,没有了dockershim的限制,配上istio的支持,整个微服务与运维环境会显得异常干净整洁。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/223942.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SL4010升压恒压控制器芯片 2.5V启动 最大10A电流 支持300W大功率

SL4010是一款升压恒压控制器芯片,它具有2.5V启动、最大10A电流、支持300W大功率等特点。该芯片采用先进的控制技术,能够实现高效的电能转换,同时保持稳定的输出电压和电流。 SL4010芯片的主要功能是将输入的直流电压升高到所需的电压&#xf…

Http中post和get

get产生一个tcp数据包,服务器只响应一次,而post请求服务器会响应两次(第一次发送请求头响应100,再次响应返回200,成功

配置主机与外网时间服务器同步时间

目录 NTP服务简介 时间管理命令 第一步:更改当前主机所在地的时间 方法一:使用tzselect命令查询需要的时区 1、使用tzselect命令查询需要的时区 2、添加变量到 ~/.bash_profile 文件中,即追加类似的内容: 3、重新连接一个…

HashMap系列-放入元素的流程

1.put public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable {//通过key生成hash后&#xff0c;调用putVal方法public V put(K key, V value) {return putVal(hash(key), key, value, false, true);} } 2.put…

【沐风老师】3DMAX切片工具插件安装使用方法详解

3DMAX切片工具安装使用方法 3DMAX切片工具&#xff0c;该工具沿世界坐标轴以规则的间隔对对象进行切片处理。例如&#xff0c;对于快速均匀细分复杂网格、顶点绘制或应用“弯曲”修改器非常有用。 【适用版本】 3dMax2016 - 2023&#xff08;不仅限于此范围&#xff09; 【安装…

【MATLAB源码-第96期】基于simulink的光伏逆变器仿真,光伏,boost,逆变器(IGBT)。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 光伏单元&#xff08;PV Cell&#xff09; 工作原理&#xff1a;光伏单元通过光电效应将太阳光转换为直流电。它们的输出取决于光照强度、单元温度和负载条件。Simulink建模&#xff1a;在Simulink中&#xff0c;光伏单元…

AHB 与 DMA

AHB&#xff08;先进高性能总线&#xff09; 随着深亚微米工艺技术日益成熟&#xff0c;集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法&#xff0c;发展到基于IP核复用的设计方法&#xff0c;并在SOC设计中得到了广泛应用。在基于IP核复用的SoC&#xff08;Syst…

【EI会议征稿中】第三届光学与机器视觉国际学术会议(ICOMV 2024)

第三届光学与机器视觉国际学术会议(ICOMV 2024) 2024 3rd International Conference on Optics and Machine Vision 第三届光学与机器视觉国际学术会议(ICOMV 2024)将于2024年1月19-21日在中国南昌举行。本次会议将围绕“光学”与"机器视觉”等研究领域展开讨论&#xf…

品牌咨询策划服务预约小程序作用是什么

对很多行业公司来说&#xff0c;想要在竞争激烈的市场中生存和长期发展&#xff0c;就需要不断完善自身服务和信息流程、规范化。品牌咨询策划公司是企业发展中重要的合作伙伴。 二者都有寻找对方的需求&#xff0c;尤其是对咨询策划公司来说需要不断宣传推广品牌和服务来获得…

【Pytorch】理解自动混合精度训练

【Pytorch】理解自动混合精度训练 混合精度概述 实验对比 更大的深度学习模型需要更多的计算能力和内存资源。一些新技术的提出&#xff0c;可以更快地训练深度神经网络。我们可以使用 FP16&#xff08;半精度浮点数格式&#xff09;来代替 FP32&#xff08;全精度浮点数格式…

Java 输入输出流02

六. Java.IO 流类库 1&#xff1a;io 流的四个基本类 java.io 包中包含了流式 I/O 所需要的所有类。在 java.io 包中有四个基本类&#xff1a;InputStream、OutputStream 及 Reader、Writer 类&#xff0c;它们分别处理字节流和字符流&#xff1a; 基本数据流的 I/O 输入 / …

多向通信----多人聊天

package 多人聊天; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; publ…

信道的极限容量

目录 信道的最高码元传输速率 限制码元在信道上的传输速率的因素&#xff1a; &#xff08;1&#xff09;信道能够通过的频率范围 &#xff08;2&#xff09; 信噪比 任何实际的信道都不是理想的&#xff0c;在传输信号时会产生各种失真以及带来多种干扰。 码元传输的速率越…

Avalonia中如何将View事件映射到ViewModel层

前言 前面的文章里面我们有介绍在Wpf中如何在View层将事件映射到ViewModel层的文章&#xff0c;传送门&#xff0c;既然WPF和Avalonia是两套不同的前端框架&#xff0c;那么WPF里面实现模式肯定在这边就用不了&#xff0c;本篇我们将分享一下如何在Avalonia前端框架下面将事件…

如何配置WinDbg和VMware实现内核的调试

设置 VMware 的虚拟串口 运行 VMware&#xff0c;首先将 Guest OS 系统电源关闭&#xff0c;这样才能修改该系统的虚拟机设置。 单击界面上的“编辑虚拟机设置”选项对虚拟机的属性进行设置。 单击“添加”按钮&#xff0c;打开 VMware 的 添加硬件向导 对话框 选择“串行端口…

构建第一个事件驱动型 Serverless 应用

我相信&#xff0c;我们从不缺精彩的应用创意&#xff0c;我们缺少的把这些想法变成现实的时间和付出。 我认为&#xff0c;无服务器技术真的有助于最大限度节省应用开发和部署的时间&#xff0c;并且无服务器技术用可控的成本&#xff0c;实现了我的那些有趣的想法。 在我 2…

c语言笔记之文件操作

16 文件操作 嵌入式开发中基本用不上&#xff0c;这章不重要 a 字符集&#xff1a;泛泛意义上的文本文件中的数据与磁盘中保存的二进制之间的映射关系。 常见的字符集&#xff1a;ASCLL,Latin,GB2312,GBK,UTF-8 解码过程&#xff1a;从看不懂到看得懂的过程。 ​ 如果操作时…

02Docker容器卷

Docker容器卷 1.数据卷是什么 简而言之: 就是Docker用来存储数据的,在镜像被删除的时候,卷中数据不会被删除,就是相当于一个数据库备份数据,相当于Windows中的目录或文件 2.目的 解决数据持久化 独立容器的生存周期,帮助容器间继承和共享数据 3.数据卷的使用 1.直接添加 doc…

Linux 多线程(C语言) 备查

基础 1&#xff09;线程在运行态和就绪态不停的切换。 2&#xff09;每个线程都有自己的栈区和寄存器 1&#xff09;进程是资源分配的最小单位&#xff0c;线程是操作系统调度执行的最小单位 2&#xff09;线程的上下文切换的速度比进程快得多 3&#xff09;从应用程序A中启用应…

【UE】制作地月全息投影

效果 步骤 1. 在必应国际版上搜索“purlin noise”&#xff0c;下载如下所示图片 再搜索“Earth Map”&#xff0c;下载如下所示图片 再搜索“Moon 360”&#xff0c;下载如下所示图片 这三张图片的资源链接如下&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1b_50q…