01. MOSN 高性能网络扩展实践 - 王发康Filter(via GoLang) xDS SOFA Nacos Others Admin Debug State Upstream&C onnpool Pilot SOFARegistry Consul Nacos Consul Others Control Plane MCP Data flow Control flow xDS Discovery Client API Request Request MOSN 做业务扩展 • 扩展非 xDS 服务发现 • 扩展 L4/L7 filter • 扩展 Xprotocol 支持 • Debug 及 Admin 管理 • Metrics 监控统计 Envoy 复用基础能力 • 复用高效 Eventloop 模型 • 复用 xDS 服务元数据通道 • 复用 L4/L7 filter • 复用 Cluster Cluster Manager/xDS Discovery 1 2 4 1 2 Envoy MOSN Data flow Control flow GoLang L7 extension SDK GoLang L7 extension filter 5 Other http filter(via GoLang) CGO 1 2 xDS Control Plane Data0 码力 | 29 页 | 2.80 MB | 1 年前3
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
张波-虎牙直播在微服务改造中的实践Thin SDK Istio/Pilot Envoy Bonder Provider Thin SDK Istio/Pilot Envoy Provider Fat SDK 订阅 xDS xDS 发布 接入Mesh应用 未接入Mesh应用 Nacos 订阅 发布 发布 • 基于开源Istio,对接Nacos实现服 务注册与发现 • 解决多技术栈复杂性 • 解决多语言Dubbo客户端功能差异问题 Nacos Istio/Pi lot Nacos Istio/Pilot Nacos xDS xDS xDS 服 务 发 现 服 务 发 现 配 置 管 理 SMI Nacos 支持Istio服务发现 支持Istio服务发现和配置管理 支持xDS协议 支持SMI xDS 关注 ServiceMesher 微信公众号 获取社区最新信息 关注 金融级分布式架构 微信公众号0 码力 | 27 页 | 1.03 MB | 1 年前3
Envoy原理介绍及线上问题踩坑kubelet 拦截指定命名空间 Pod创建请求 xDS Iptables 规则 ./etc/istio/proxy/SDS 证书 获取 配置 文件 可以修改全局注入参数 作用于所有目标空间的 pod 证书更新 Envoy启动流程 Envoy控制面流量 Envoy数据面流量 ./etc/istio/proxy/XDS SDS xDS CSR Prometheus configmaps Pilot-agent进程本身创建UDS接收Envoy连接,用于证书更新下发。并且与istiod建立证书更新通道。 • Envoy 通过pilot-agent转发机制与istiod建立长连接,通过xDS协议接收系统下发的监听器、路由、集群节点等更新信息。 • 3. 数据面通信 • 客户端请求进入容器网络,并被iptables规则拦截,经过DNAT后进入Envoy virtualOutbound监听器 Page 9 Envoy启动配置及xDS listener router upstream pool Envoy cluster istiod pilot-agent LDS RDS CDS EDS tls证书 管理 SDS CSR创建证书 stat tracing 支持采集或 主动上报 监控系统 过滤器 过滤器 连接 连接 xDS 描述 模式 请求路径 LDS 监听器配置0 码力 | 30 页 | 2.67 MB | 1 年前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
Performance tuning and best practices in a Knative based, large-scale serverless platform with Istioare fixed in istio 1.7.1 (istio #23029, envoyproxy #13037) o envoy still suffers from overload of XDS pushes in a high churn environment. Istio scalability optimization during Knative Service provisioning flow control fix looks great, ingress_ready p100 < 30s o [Istio 1.9.x] Support for backpressure on XDS pushes to avoid overloading Envoy during periods of high configuration churn. This is disabled by o Final solution is envoy delta-XDS push in future Istio release. Istio scalability optimization during Knative Service provisioning • support for backpressure on XDS pushes to avoid overloading Envoy0 码力 | 23 页 | 2.51 MB | 1 年前3
KubeCon2020/微服务技术与实践论坛/Spring Cloud Alibaba 在 Kubernetes 下的微服务治理最佳实践-方剑y Node.js APP Envo y Java App Agent Java App Agent MCP Service Mesh xDS xDS • 调用互通 • 监控互通 • 治理互通 xDS xDS 服务治理 无损下线 离群实例摘除 标签路由 服务鉴权 链路跟踪 多语言互通0 码力 | 27 页 | 7.10 MB | 1 年前3
共 36 条
- 1
- 2
- 3
- 4













