精贴总结 - 万字长文带你入门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 ...
随机推荐
- TC插件管理器及在TC中新建文件
新建文件 Shift+F4可以新建文件,但是会调用内置的编辑器来打开. 在设置中通过修改F4快捷键对应的程序来修改. PS.F4编辑没找到根据扩展名来调用指定程序打开,可以F3中进行补充. NewFi ...
- 使用Lua做为MMOARPG游戏逻辑开发脚本的一点体会
项目背景 目前在一个大型MMOARPG游戏中使用Lua做为逻辑开发语言,Lua占整体代码量的80%. 我们这个MMO游戏开发近2年,客户端8人,项目组总体人数在100人(美术占70%),目前代码量很大 ...
- SpringAOP配置要点
一.基于配置文件 1.关于aop配置文件相关 <!--配置aop--> <aop:config> <!--配置切入点表达式--> <aop:pointcut ...
- 苹果iOS 17正式版来了:iPhone X/8系列等机型无缘
据媒体报道,苹果会在9月13日凌晨1点发布iPhone 15系列新品,该机出厂预装iOS 17正式版系统. 在iPhone 15系列之后,苹果会向老机型推送iOS 17正式版更新.据爆料,苹果将会在9 ...
- PHP 会话(Session)实现用户登陆功能
PHP 会话(Session)实现用户登陆功能 Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量.UID 存储在 cookie 中,或者通过 U ...
- ABC 311 A - E
ABC 311 A - E 不提供代码 A 题意:求一个字符串的第一个 ABC 最早出现的位置,可以打乱顺序,可以间隔 建立三个变量,然后以此判断即可,直到三种字符都出现就可以了 B 题意:给定每个人 ...
- linux 搭建http文件服务器
1.安装httpd服务 yum -y install httpd 2.修改需要访问的文件路径 vi /etc/httpd/conf/httpd.conf ##默认是/var/www/html目录下的文 ...
- JS leetcode 检查单词是否为句中其他单词的前缀 解题分析,活用startsWith方法
壹 ❀ 引 今天来做一道题目贼长,但做起来不难的题,为啥昨天前天没写呢,因为题目太简单了,没收获额外有用信息,已知的知识反复写就有些浪费时间了.今天的题目来自leetcode1455. 检查单词是否为 ...
- NC15128 老子的全排列呢
题目链接 题目 题目描述 老李见和尚赢了自己的酒,但是自己还舍不得,所以就耍起了赖皮,对和尚说,光武不行,再来点文的,你给我说出来1-8的全排序,我就让你喝,这次绝不耍你,你能帮帮和尚么? 输入描述 ...
- SSD 表项管理概述(一)——L1、L2、L3
分类 名称 说明 映射表相关 L1 Table 记录每个4KB用户数据在SSD上的存放物理地址: L2 Table 记录每个sub L1 Table在SSD上的存放物理地址: L3 Table 记录每 ...