 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展Service Mesh Layer 7 HTTP Header Service Mesh Layer 4 TCP Port SDN/Service Mesh? Layer 3 IP Address/Protocol SDN Layer 2 MAC/VLAN SDN Layer 1 Input Port SDN SDN : 主要关注1到4层 Service Mesh: 主要关注4到7层 类似的问 用层通信的解决方案-Service Mesh HW Adapter Proxy Service Proxy Service Proxy Service Data Plane Protocol Canary deployment Chaos testing User Subscription & SLA Control Plane Programmable Subscription & SLA 1. APP converts user subscription & SLA to operation policy Data Plane Protocol Programmable API Data Plane Control Layer 2. APP calls control plane API to create the operation0 码力 | 27 页 | 11.99 MB | 6 月前3 Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展Service Mesh Layer 7 HTTP Header Service Mesh Layer 4 TCP Port SDN/Service Mesh? Layer 3 IP Address/Protocol SDN Layer 2 MAC/VLAN SDN Layer 1 Input Port SDN SDN : 主要关注1到4层 Service Mesh: 主要关注4到7层 类似的问 用层通信的解决方案-Service Mesh HW Adapter Proxy Service Proxy Service Proxy Service Data Plane Protocol Canary deployment Chaos testing User Subscription & SLA Control Plane Programmable Subscription & SLA 1. APP converts user subscription & SLA to operation policy Data Plane Protocol Programmable API Data Plane Control Layer 2. APP calls control plane API to create the operation0 码力 | 27 页 | 11.99 MB | 6 月前3
 SOFAMesh的通用协议扩展邵俊雄(熊啸) 2018.08.25AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 • 问答SOFA MESH • 从 ISTIO 克隆并保持同步更新 • 使用 SOFA-MOSN 代替 ENVOY 作为数据平面 • 打包 • 安装 • 部署 • 测试 • 支持主流的微服务框架 服务注册模型落地一个微服务框架需要的工作 • 部署 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 SOFAMesh的通用协议扩展邵俊雄(熊啸) 2018.08.25AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 • 问答SOFA MESH • 从 ISTIO 克隆并保持同步更新 • 使用 SOFA-MOSN 代替 ENVOY 作为数据平面 • 打包 • 安装 • 部署 • 测试 • 支持主流的微服务框架 服务注册模型落地一个微服务框架需要的工作 • 部署 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
 Service Mesh 在『路口』的产品思考与实践SOFARPC,也支持广泛使用的 Dubbo 和 Spring Cloud,提供统一的服务治理能力 • 基于 x-protocol,未来也可以方便地支持更多协议 x-protocol介绍:https://www.servicemesher.com/blog/x-protocol-tcp-protocol-extension/ SOFARPC:https://github.com/sofastack/sofa-rpc28/39 SDK 各种注册中心 Galley Nacos 控制平面 (Pilot) MCP MCP SOFARegistry MCP APP Sidecar xDS/UDPA xDS/UDPA MCP Proxy 其他注册中心 MCP 支持 MCP 的注册中心 MCP 1. 整合传统注册中心,支持海量数据 2. 加强控制平面的存储能力0 码力 | 40 页 | 15.86 MB | 6 月前3 Service Mesh 在『路口』的产品思考与实践SOFARPC,也支持广泛使用的 Dubbo 和 Spring Cloud,提供统一的服务治理能力 • 基于 x-protocol,未来也可以方便地支持更多协议 x-protocol介绍:https://www.servicemesher.com/blog/x-protocol-tcp-protocol-extension/ SOFARPC:https://github.com/sofastack/sofa-rpc28/39 SDK 各种注册中心 Galley Nacos 控制平面 (Pilot) MCP MCP SOFARegistry MCP APP Sidecar xDS/UDPA xDS/UDPA MCP Proxy 其他注册中心 MCP 支持 MCP 的注册中心 MCP 1. 整合传统注册中心,支持海量数据 2. 加强控制平面的存储能力0 码力 | 40 页 | 15.86 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调用地址 由到Gzone 机房UC落地 - XProtocol DNS方案规划 & 展望MOSNG 待开源MOSN-X eBPF 加速卡 DPDK MOSN SSL Offload User Protocol Stack K8S Ingress Microservice Frontend & Gateway MOSNG Serverless 高性能统一转发平面 下一代微服务体系 下一代网络接入系统0 码力 | 29 页 | 7.03 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调用地址 由到Gzone 机房UC落地 - XProtocol DNS方案规划 & 展望MOSNG 待开源MOSN-X eBPF 加速卡 DPDK MOSN SSL Offload User Protocol Stack K8S Ingress Microservice Frontend & Gateway MOSNG Serverless 高性能统一转发平面 下一代微服务体系 下一代网络接入系统0 码力 | 29 页 | 7.03 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 大规模微服务架构下的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
 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 为网络协议请求/响应提供可编程的抽象载体 ü 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Filters Stream Filters bytes bytes stream bytes stream stream bytes Network Network Protocol Stream Proxy Proxy Protocol Stream Network Network线程模型 0.1.0 9 Client Listener Read / Codec Read / Codec Read0 码力 | 44 页 | 4.51 MB | 6 月前3 蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编码:对请求数据进行编码并根据控制指令发送数据 为网络协议请求/响应提供可编程的抽象载体 ü 考虑PING-PONG,PIPELINE,分帧STREAM三种典型流程特征 Ø定义Stream生命周期,核心事件 Ø定义Stream层编/解码核心接口 ü 核心数据结构复用Protocol层 Ø定义可扩展的插件机制 Ø对于满足请求Stream池化的需求 Ø需处理上层传入的状态事件PROXY 7 Ø基于Stream抽象提供多协议转发能力 Ø执行Stream扩展Filters Filters Stream Filters bytes bytes stream bytes stream stream bytes Network Network Protocol Stream Proxy Proxy Protocol Stream Network Network线程模型 0.1.0 9 Client Listener Read / Codec Read / Codec Read0 码力 | 44 页 | 4.51 MB | 6 月前3
 蚂蚁金服 API Gateway Mesh 思考与实践蚂蚁金服 API Gateway Mesh 架构 数据流 控制流 Ops 流13/21 API Gateway Mesh Based on MOSN MOSN 能力与模块 MMTP Protocol HTTP\SOFARPC\Dubbo Gateway Filters Service Discovery Router14/21 API Gateway Core Based on GlobalFilters FilterChains Router Service NET/IO PROTOCOL Cluster Router … Filter Pipeline Extension JavaScript Lua GoPlugin ScriptFilter File Istio xds rest api k8s configmap config file mobile openapi0 码力 | 22 页 | 1.72 MB | 6 月前3 蚂蚁金服 API Gateway Mesh 思考与实践蚂蚁金服 API Gateway Mesh 架构 数据流 控制流 Ops 流13/21 API Gateway Mesh Based on MOSN MOSN 能力与模块 MMTP Protocol HTTP\SOFARPC\Dubbo Gateway Filters Service Discovery Router14/21 API Gateway Core Based on GlobalFilters FilterChains Router Service NET/IO PROTOCOL Cluster Router … Filter Pipeline Extension JavaScript Lua GoPlugin ScriptFilter File Istio xds rest api k8s configmap config file mobile openapi0 码力 | 22 页 | 1.72 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 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
 在Kubernetes上部署高可用的Service Mesh监控to live with all those DBs... Prometheus Adapter Remote Storage Local disk Generic read/write protocol Custom protocolPrometheus at scale ● Prometheus is by design NOT a persistent store. ● Have to with all those DBs... Prometheus Adapter Remote Storage Local disk Generic read/write protocol Custom protocol Performance and reliability aside, more things to maintain. Bad news for the ops… :(What0 码力 | 35 页 | 2.98 MB | 6 月前3 在Kubernetes上部署高可用的Service Mesh监控to live with all those DBs... Prometheus Adapter Remote Storage Local disk Generic read/write protocol Custom protocolPrometheus at scale ● Prometheus is by design NOT a persistent store. ● Have to with all those DBs... Prometheus Adapter Remote Storage Local disk Generic read/write protocol Custom protocol Performance and reliability aside, more things to maintain. Bad news for the ops… :(What0 码力 | 35 页 | 2.98 MB | 6 月前3
 严选 ServiceMesh 实践数据面以 Envoy Proxy 作为代理组件 • 控制面以 Pilot 为核心组件 • 平台开放与扩展主要通过 Kubernetes CRD与Mesh Configuration Protocol(简称为 MCP,一套标准 GRPC 协议) • 高可用设计主要基于 Kubernetes 及 Istio 机制实现14/24 Service Mesh 在混合云架构落地 /0215/24 数据面以 Envoy Proxy 作为代理组件 • 控制面以 Pilot 为核心组件 • 平台开放与扩展主要通过 Kubernetes CRD与Mesh Configuration Protocol(简称为 MCP,一套标准 GRPC 协议)19/24 质量保障体系 • CICD • 单元测试 • 性能基准自动测试 • 监控报警 • 版本升级机制 • Envoy 热更新机制0 码力 | 25 页 | 2.07 MB | 6 月前3 严选 ServiceMesh 实践数据面以 Envoy Proxy 作为代理组件 • 控制面以 Pilot 为核心组件 • 平台开放与扩展主要通过 Kubernetes CRD与Mesh Configuration Protocol(简称为 MCP,一套标准 GRPC 协议) • 高可用设计主要基于 Kubernetes 及 Istio 机制实现14/24 Service Mesh 在混合云架构落地 /0215/24 数据面以 Envoy Proxy 作为代理组件 • 控制面以 Pilot 为核心组件 • 平台开放与扩展主要通过 Kubernetes CRD与Mesh Configuration Protocol(简称为 MCP,一套标准 GRPC 协议)19/24 质量保障体系 • CICD • 单元测试 • 性能基准自动测试 • 监控报警 • 版本升级机制 • Envoy 热更新机制0 码力 | 25 页 | 2.07 MB | 6 月前3
共 13 条
- 1
- 2













