13 Istio 流量管理原理与协议扩展 赵化冰服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS • 集群内Pod流量出入: Sidecar Proxy • 集群外部流量入口:Ingress Gateway • 集群外部流量出口:Egress Gateway(可选,在一个集中点对外部访问进行控制) 两类数据: q 服务数据(Mesh 中有哪些服务?缺省路由) v Service Registry § Kubernetes:原生支持 § Consul、Eureka 等其他服务注册表:MCP over xDS (https://github.com/istio-ecosystem/consul-mcp) v 通过CRD定义的服务数据 q 自定义流量规则(如何将请求路由到这些服务?) v 通过CRD定义的流量规则 Virtual Service CLB 对外请求 对外请求(Passthrough/ServiceEntry) 缺省路由 (服务名) 5 Istio 流量管理 – 数据面 – Envoy配置模型和xDS协议 ADS Server LDS RDS CDS EDS Envoy 配置模型的主要概念: • Downstream:连接到 Envoy 的下游 Host,发送请求并接收响应。 • Upstream:0 码力 | 20 页 | 11.31 MB | 6 月前3
 Istio + MOSN 在 Dubbo 场景下的探索之路Mesh 改造 探索 Istio 技术点 Dubbo 场景下 的改造 • 对比传统微服务架构 • 和 Service Mesh 化 之后有哪些优缺点 • MCP • Pilot • xDS • MOSN 结合 Istio 的技术点, 介绍多点生活目前的 探 索 以 及 服 务 发 现 Demo 的演示3/23 为什么需要 Service Mesh 改造 /01 对比传统微服务架构和 推送流程 • 记录变化的资源类型 • 根据变化的资源类型整理本地数据 • 根据变化的资源类型判断需要下发的 xDS资源 • 构建 xDS 资源,下发到连接的 Sidecar10/23 xDS Sidecar 通过动态获取服务信息,对服务的发现 API 被称为 xDS。 • 协议部分(ADS、控制发送的顺序以及返回的确认数据) • 数据部分(CDS、EDS、LDS、RDS、SDS)11/23 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供 多协议、模块化、智能化、安全的代理能力。MOSN 是 Modular Open Smart Network 的简称。 MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡, API Gateway,云原生 Ingress 等使用。 配置文件 • mosn_config : MOSN 的配置信息0 码力 | 25 页 | 3.71 MB | 6 月前3
 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展SMI能否统一控制面标准?如何避免成为最小公分母,扩展支持其它协议? Ø 南向接口 • 面向流量和路由配置 • xDS v2将统一数据面标准? • xDS接口包含有较多实现相关内容:Listener, Filter, 能否可以成为一个通用的接口协议? 是否会出现Envoy之外的大量数据面实现? • 建议:对xDS接口进行改进,去掉实现相关内容 Ø Service Mesh的发展 • 控制面对数据面软硬件的统一控制能力? Sidecar Sidecar MSB(Consul) Service Registry Registration Registration Pilot Pull Services xDS Client Request Client Request Client RequestConsul Registry遇到的坑: 1.0版本的Consul Registry只能算PoC(原型验证),远未达到产品要求 :10.75.8.101) 10.75.8.101 10.75.8.0/24 192.168.10.0/24 192.168.10.63 Envoy Service A Host/Pod xDS Request (Node: 192.168.10.63) Sevice A as Outboud Listener service A (IP :10.75.8.101) Infinite0 码力 | 27 页 | 11.99 MB | 6 月前3
 大规模微服务架构下的Service Mesh探索之路无控制平面 • Scala编写,基于JVM资源消耗大 • 可扩展性有限,dtab不易理解和使用 • 功能不能满足蚂蚁的需求,没法做到 类似envoy xds那样的扩展性 • 未来发展前景黯淡 Envoy • 安心做数据平面, 提供XDS API • 设计优秀,性能和稳定性表现良好 • C++编写,和蚂蚁的技术栈差异大 • 蚂蚁有大量的扩展和定制化需求 • 我们非常认可envoy在 • 去掉Mixer和Auth • 定制Pilot,实现ETCD Adapter • 脱离k8s运行Sofa Mesh在技术选型时考虑 Envoy • 数据平面:Envoy最符合要求 • XDS API的设计更是令人称道 • C++带来的技术栈选择问题 • 我们有太多的扩展和定制 • 而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 Mixer架构设计 Architect2Golang版Sidecar Pilot Auth Golang Sidecar Mixer XDS API Mixer Service HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio ü 支持HTTP/1.1和HTTP/2 ü 扩展Sofa/Dubbo/HSF Dubbo RPC0 码力 | 37 页 | 7.99 MB | 6 月前3
 SOFAMesh的通用协议扩展服务注册模型落地一个微服务框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform Adapter for DUBBO • 开发 DUBBO 服务的 XDS 配置下发 • 开发 DUBBO 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 框架需要的工作 • 部署 ZK 集群作为 RPC 框架的注册中心 • 开发 ZK Platform Adapter for DUBBO • 开发 DUBBO 服务的 XDS 配置下发 • 开发 DUBBO 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持(开箱即用模式下也可以省掉)DNS 寻址目标 • 允许应用把接口当做域名来访问远端服务 • 支持在 Kubernetes DNS 之上构建更结构化的域名体系0 码力 | 28 页 | 4.73 MB | 6 月前3
 金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理做商业支持的公司也很多,比如 tetrate, solo APISIX作为Istio数据面  使用动态库的方式加载到APISIX 与APISIX生命周期一致 转换 xDS 协议  资源消耗可控  APISIX原生支持 增加了xds discovery  配合CRD进行扩展 Apache APISIX  高性能云原生网关  数据面和控制面分离  强大的扩展能力  丰富的生态集成 .... 满足多协议的需求 APISIX Service Mesh  上手成本低  开发及扩展相当容易  性能优(尤其是多路由场景)  生态丰富,80+ 插件开箱即用  兼容 xDS,方便迁移  自定义 CRD ,增量推送策略  支持多协议 https://github.com/api7/amesh 下一个版本发布时间 12 月 未来展望 概览  APISIX0 码力 | 34 页 | 3.50 MB | 6 月前3
 Service Mesh 发展趋势(续) 蚂蚁金服 | 骑士到中盘路向何方?通过Istio支持 通过托管式实例组支持 灰度发布 流量劫持+ Sidecar(envoy) 流量劫持+ Sidecar(envoy) 服务调用 通过Istio Pilot 下发(xDS协议) 通过 Traffic Director(xDS协 议) 服务发现 k8s Traffic DirectorPart 3:ServiceMesh灵魂拷问三:要不要支持虚拟机? 创新思路:补齐虚拟机的短板,向容器看齐,维持一致的用户体验 想不到你这浓眉大眼的家伙也背叛革命了。 AWS Google SMI出来之前: • Istio迟迟未贡献给CNCF • Istio API 是私有API,未见有标准化动作 • Envoy xDS v2 API是社区事实标准,但这是Envoy • 统一数据平面API,感觉更像是Envoy在推动 SMI出来之后: • ServiceMesh玩家除Istio之外几乎都参与 • 未见Ist0 码力 | 43 页 | 2.90 MB | 6 月前3
 有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生Service Mesh • ⽀持 xDS 协议,APISIX vs Envoy • 状态:Q2 季度开源 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 APISIX Mesh • APISIX Mesh + Istio = Service Mesh • APISIX + Agent = sidecar • Support xDS • 状态:Q2 季度开源0 码力 | 34 页 | 25.78 MB | 6 月前3
 Kubernetes容器应用基于Istio的灰度发布实践KubeAPIserver上service、 endpoint等资源对象 3. DiscvoeryServer使用 ServcieDiscovery接口上的服务发 现方法和用户配置的规则构造xDS 4. Envoy从Discovery获取xDS,动态 更新 Kubernet es Service Instance Instance Service Endpoint Endpoint Istio140 码力 | 34 页 | 2.64 MB | 6 月前3
 SOFAMOSN持续演进路径及实践分享Ø 简单匹配路由 Ø 集群管理 & 基本负载均衡(RR、 RANDOM) Ø SofaRpc及HTTP/1.1、 HTTP/2.0支持 Ø 进程平滑升级 Ø SOFAMesh集成,支持 xDS on ADS Ø X-Protocol协议扩展机制, 以及Dubbo支持 Ø 支持network/stream filter 扩展 Ø 支持WRR负载均衡 Ø 支持subset复杂匹配路由 提供raw epoll模式来优化性 能表现。 ü 能力上,经过多轮演进,0.4.0版本已经初步具备了生产所需的大部分功能点,支持 云原生场景下的多协议、路由&LB、后端管理、TLS、遥感监测、XDS对接等功能, 并充分优化了性能,目前已经在蚂蚁、UC生产环境进行了验证。落地实践案例蚂蚁落地 – 应用接入 ü 适用于蚂蚁当前的服务发现 体系 ü 通过中间件通道对应用推送 MOSN调用地址0 码力 | 29 页 | 7.03 MB | 6 月前3
共 16 条
- 1
 - 2
 













