精贴总结 - 万字长文带你入门Istio
原文 - 万字长文带你入门Istio
一、个人看法
- 背景:以docker+k8s普及,支持快速部署,通过k8s允许统一管理
- 解决:1)设计分布式系统,导致开发难度提高;2)统一多语言的服务治理方案
- 目的:将分布式系统的难点,从开发层迁移到运维层统一管理,减少开发同学的开发难度,提升开发效率
- 缺点:1)对运维提出了更高的要求;2)服务治理与平台高度绑定,难迁移
- 未来:1)mesh成为一线大厂必备趋势;2)架构同学逐步从角色开发层慢慢转向运维层;3)架构同学必须懂k8s

二、文章总结
1. ServiceMesh
简介
- 轻量代理,与应用程序部署在一起组成一个服务,负责:1)服务与服务之间的通讯;2)处理分布式系统架构设计,如路由、重试,熔断、限流、监控、追踪、幂等等
- 解耦,分布式系统设计与开发代码分离
功能

2. istio简介
- 根本上来说,istio的工作原理是以sidercar的形式将envoy的扩展版作为代理部署到每个微服务中
- envoy代理之间组成数据平面,代理的配置和管理由控制面板完成

3. istio组件
数据平面
- 主要是envoy,核心是支持网络和路由层代理,同时支持7层过滤器,对http2和gRPC传输具有一流支持
- 支持流量控制、安全性
- 支持wasm扩展
控制面
- 核心控件是istiod,负责管理和控制envoy,管理流量控制和路由管理,并在运行时将其传播到SiderCar
- istiod合并了服务发现的pilot、配置galley、证书生成的citadel及用于可扩展性的mixer
4. istio工作原理
流量管理
- 帮助我们控制流量路由的关键API资源是虚拟服务和目标规则
- 虚拟服务:一个或多个按顺序评估的路由规则组成,使我们可以配置如何将请求路由到服务中
- 目标规则:帮助我们控制达到目标的流量,影子管理、流量拆分、重试、熔断限流,依赖这个来做
安全性
- 两种验证方式:对等验证、请求身份验证;对等身份验证,用于服务到服务的身份验证;请求身份验证用于最终用户身份验证
5. 思考
- mesh的缺点:1)添加运维成本;2)程序与平台强关联,导致业务和平台混合,难以移植;3)添加一层,增加延迟;4)系统复杂度增加,学习成本提高
- istio代替品:linkerd【仅支持k8s,和istio几乎类似】和consul【优点与HashiCorp其他套件,能比较好的结合,缺点,系统部署更为复杂】
精贴总结 - 万字长文带你入门Istio的更多相关文章
- 万字长文带你入门Zookeeper!!!
导读 文章首发于微信公众号[码猿技术专栏],原创不易,谢谢支持. Zookeeper 相信大家都听说过,最典型的使用就是作为服务注册中心.今天陈某带大家从零基础入门 Zookeeper,看了本文,你将 ...
- 万字长文带你入门docker
1 Docker dockerfiler 镜像构建 Compose是在单机进行容器编排 Horbor 镜像仓库 Docker swarm 在多机进行容器编排 Docker Compose缺点是不能在分 ...
- 五万字长文带你学会Spring
Sping Spring概念介绍 spring是啥呢,你在斗地主的时候把别人打爆了那叫spring, 你成功的追到了你爱慕已久的女神,人生中的春天来了,那也叫sping 好了别看我老婆了,咱来讲讲啥是 ...
- [Redis] 万字长文带你总结Redis,助你面试升级打怪
文章目录 Redis的介绍.优缺点.使用场景 Linux中的安装 常用命令 Redis各个数据类型及其使用场景 Redis字符串(String) Redis哈希(Hash) Redis列表(List) ...
- 【万字长文】Dubbo 入门总结 ,一款高性能的 Java RPC 框架
这篇文章是我学习整理 Dubbo 的一篇文章,首先大部分内容参考了官网 + 某硅谷的视频,内容讲解进行了重新编排,40多张图片,也都是我修改重制的,虽然一万多字,但是其实也可以看出来,更多的内容集中在 ...
- 又长又细,万字长文带你解读Redisson分布式锁的源码
前言 上一篇文章写了Redis分布式锁的原理和缺陷,觉得有些不过瘾,只是简单的介绍了下Redisson这个框架,具体的原理什么的还没说过呢.趁年前项目忙的差不多了,反正闲着也是闲着,不如把Rediss ...
- 万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!
查找元素索引位置 基本查找 根据数组元素找出该元素第一次在数组中出现的索引 public class TestArray1 { public static void main(String[] arg ...
- 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul
本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...
- 【万字长文】使用 LSM-Tree 思想基于.Net 6.0 C# 实现 KV 数据库(案例版)
文章有点长,耐心看完应该可以懂实际原理到底是啥子. 这是一个KV数据库的C#实现,目前用.NET 6.0实现的,目前算是属于雏形,骨架都已经完备,毕竟刚完工不到一星期. 当然,这个其实也算是NoSQL ...
- 可能是史上最强大的js图表库——ECharts带你入门
PS:之前的那篇博客Highcharts——让你的网页上图表画的飞起 ,评论中,花儿笑弯了腰 和 StanZhai 两位仁兄让我试试 ECharts ,去主页看到<Why ECharts ?&g ...
随机推荐
- 遇到一个bug,组件不更新内容
解决办法 当v-if的值发生变化时,组件都会被重新渲染一遍.因此,利用v-if指令的特性,可以达到强制刷新组件的目的. <template> <comp v-if="upd ...
- 数据挖掘机器学习[七]---2021研究生数学建模B题空气质量预报二次建模求解过程:基于Stacking机器学习混合模型的空气质量预测{含码源+pdf文章}
相关文章: 特征工程详解及实战项目[参考] 数据挖掘---汽车车交易价格预测[一](测评指标:EDA) 数据挖掘机器学习---汽车交易价格预测详细版本[二]{EDA-数据探索性分析} 数据挖掘机器学习 ...
- MySQL【五】与python交互
1.安装pymysql 安装pymysql pip install pymysql 2.游标(cursor)的使用 cursor,就是一个标识,用来标识数据可以理解成数组中的下标 . 一.声明一个游 ...
- window下部署单机hadoop环境
window本地部署单机hadoop,修改配置文件和脚本如下,只记录关键配置和步骤,仅供参考 hadoop-2.6.5 spark-2.3.3 1.配置文件core-site.xml <conf ...
- C/C++可变参数模版和函数指针的结合
目录 1.说明 2.模板类传入固定参数的C函数指针 3.模板类传入固定参数的C++函数指针 3.1.用函数对象替代函数指针存储 4.模板类传入不定参数的C函数指针 5.模板类传入不定参数的C++成员函 ...
- IT技术:开篇 - IT技术系列文章
笔者已经工作了十多年,在这十多年里,笔者在博客上也对自己所学的技术方面的事情记录成了博文.这些博文有些是笔者自己所学所记,有些是将网上的博文进行的转载.在经历了这么多的技术学习之后,笔者将自己的经验记 ...
- Docker从认识到实践再到底层原理(二-3)|LXC容器
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- 2023 ASP.NET Core 开发者路线图
链接 ASP.NET Core Developer Roadmap
- CF1834
A 给出一个由 \(1,-1\) 组成的序列.一次操作可以让一个数变相反. 要多少次操作,才能让整个序列和非负且积等于 \(1\). 大 氵题. B 定义两个数 \(A,B\) 有一个价值:每一位上的 ...
- C# 二十年语法变迁之 C# 8参考
C# 二十年语法变迁之 C# 8参考 自从 C# 于 2000 年推出以来,该语言的规模已经大大增加,我不确定任何人是否有可能在任何时候都对每一种语言特性都有深入的了解.因此,我想写一系列快速参考文章 ...