 Istio + MOSN 在 Dubbo 场景下的探索之路多点生活在 Service Mesh 上的实践 Istio + MOSN 在 Dubbo 场景下的探索之路 陈鹏 多点生活 平台架构组研发工程师1/23 自我介绍 • 陈鹏、多点生活平台架构组研发工程师 • 开源项目与云原生爱好者 • 多年网上商城、支付系统相关开发经验 • 2019 年至今从事云原生和 Service Mesh 相关开发工作2/23 /01 /02 /03 为什么需要 为什么需要 Service Mesh 改造 探索 Istio 技术点 Dubbo 场景下 的改造 • 对比传统微服务架构 • 和 Service Mesh 化 之后有哪些优缺点 • MCP • Pilot • xDS • MOSN 结合 Istio 的技术点, 介绍多点生活目前的 探 索 以 及 服 务 发 现 Demo 的演示3/23 为什么需要 Service Mesh MOSN-listener14/23 MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy 解析 Dubbo 协议中的 Serivce 和 Method • 根据路由策略配置把流量转发到对应的0 码力 | 25 页 | 3.71 MB | 6 月前3 Istio + MOSN 在 Dubbo 场景下的探索之路多点生活在 Service Mesh 上的实践 Istio + MOSN 在 Dubbo 场景下的探索之路 陈鹏 多点生活 平台架构组研发工程师1/23 自我介绍 • 陈鹏、多点生活平台架构组研发工程师 • 开源项目与云原生爱好者 • 多年网上商城、支付系统相关开发经验 • 2019 年至今从事云原生和 Service Mesh 相关开发工作2/23 /01 /02 /03 为什么需要 为什么需要 Service Mesh 改造 探索 Istio 技术点 Dubbo 场景下 的改造 • 对比传统微服务架构 • 和 Service Mesh 化 之后有哪些优缺点 • MCP • Pilot • xDS • MOSN 结合 Istio 的技术点, 介绍多点生活目前的 探 索 以 及 服 务 发 现 Demo 的演示3/23 为什么需要 Service Mesh MOSN-listener14/23 MOSN-routers15/23 MOSN-cluster16/23 Dubbo 场景下的改造 /03 从数据面、控制面两个方面来介绍如何改造17/23 改造方案1 Istio+Envoy • 通过创建 EnvoyFilter 资源来给 xDS 资源打 patch • Envoy 解析 Dubbo 协议中的 Serivce 和 Method • 根据路由策略配置把流量转发到对应的0 码力 | 25 页 | 3.71 MB | 6 月前3
 SOFAMesh的通用协议扩展ISTIO 克隆并保持同步更新 • 使用 SOFA-MOSN 代替 ENVOY 作为数据平面 • 打包 • 安装 • 部署 • 测试 • 支持主流的微服务框架 • SOFA • HSF • DUBBO • SPRING CLOUD • … • 控制平面创新的地方 • MESH OPERATOR • RPC SERVICE CONTROLLER • …SERVICE MESH 落地中的问题常见的 服务注册模型落地一个微服务框架需要的工作 • 部署 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 DNS0 码力 | 28 页 | 4.73 MB | 6 月前3 SOFAMesh的通用协议扩展ISTIO 克隆并保持同步更新 • 使用 SOFA-MOSN 代替 ENVOY 作为数据平面 • 打包 • 安装 • 部署 • 测试 • 支持主流的微服务框架 • SOFA • HSF • DUBBO • SPRING CLOUD • … • 控制平面创新的地方 • MESH OPERATOR • RPC SERVICE CONTROLLER • …SERVICE MESH 落地中的问题常见的 服务注册模型落地一个微服务框架需要的工作 • 部署 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 DNS0 码力 | 28 页 | 4.73 MB | 6 月前3
 Nacos架构&原理
开源分享阿里软负载最佳实践,希望能够帮助到各位开 发者,各位系统架构师,少走弯路。 阿里巴巴云原生应用平台负责人 - 丁宇(叔同) 在阿里中间件开源、自研、商业三位⼀体的战略中,微服务 DNS(Dubbo+Nacos+Spring-cloud- alibba/Sentinel/Seata)组合始终走在前列,引领着微服务领域的发展趋势。Nacos 作为核心引擎 孵化于 2008 年的阿里五彩石项目,自主研发完全可控,经历十多年双 情怀,是⼀种文化,是⼀种展示技术影响力和技术实力的方式,包括我在内很多阿里技术人都是因 此影响加入。阿里凭借着互联网场景和规模的优势走在了时代的前列,完成了去 IOE ,创造了企业 级互联网架构等壮举,并且开源了很多自主产品如 Dubbo、RocketMQ、Tengine、Jstorm 等,产 生了巨大的影响力,在互联网行业广泛使用,但是这⼀阶段的开源除了情怀和展示技术影响力之后 很难量化对公司的价值,因此也比较难以持续发展。第二个阶段是 产品合并统⼀开源。定位为:⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。由于我们在阿里内部发展了 10 年,在易用、规模、实时、稳定沉淀了核心竞争力,围绕阿里 Dubbo 和 Spring-cloud-alibaba 生态进行推广,建立阿里 DNS(Dubbo+Nacos+Spring- cloud-alibaba/Seata/Sentinel)微服务最佳实践。 随着我们选择三合⼀的开源模式,又面临另外0 码力 | 326 页 | 12.83 MB | 9 月前3 Nacos架构&原理
开源分享阿里软负载最佳实践,希望能够帮助到各位开 发者,各位系统架构师,少走弯路。 阿里巴巴云原生应用平台负责人 - 丁宇(叔同) 在阿里中间件开源、自研、商业三位⼀体的战略中,微服务 DNS(Dubbo+Nacos+Spring-cloud- alibba/Sentinel/Seata)组合始终走在前列,引领着微服务领域的发展趋势。Nacos 作为核心引擎 孵化于 2008 年的阿里五彩石项目,自主研发完全可控,经历十多年双 情怀,是⼀种文化,是⼀种展示技术影响力和技术实力的方式,包括我在内很多阿里技术人都是因 此影响加入。阿里凭借着互联网场景和规模的优势走在了时代的前列,完成了去 IOE ,创造了企业 级互联网架构等壮举,并且开源了很多自主产品如 Dubbo、RocketMQ、Tengine、Jstorm 等,产 生了巨大的影响力,在互联网行业广泛使用,但是这⼀阶段的开源除了情怀和展示技术影响力之后 很难量化对公司的价值,因此也比较难以持续发展。第二个阶段是 产品合并统⼀开源。定位为:⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平 台。由于我们在阿里内部发展了 10 年,在易用、规模、实时、稳定沉淀了核心竞争力,围绕阿里 Dubbo 和 Spring-cloud-alibaba 生态进行推广,建立阿里 DNS(Dubbo+Nacos+Spring- cloud-alibaba/Seata/Sentinel)微服务最佳实践。 随着我们选择三合⼀的开源模式,又面临另外0 码力 | 326 页 | 12.83 MB | 9 月前3
 13 Istio 流量管理原理与协议扩展 赵化冰path Request-Headers(Delivered as HTTP2 headers) TARS ServantName ServantName, FuncName, Context Dubbo service name service name, service version, service method Any RPC Protocol service name in message 工作量较大,相当于实现了一个独立的 xDS 服务器 Aeraki: 为Istio提供七层协议扩展的开源项目,可以支持 Dubbo、 Thrift、Redis以及私有协议,目前已支持: • Dubbo 缺省路由 • Dubbo version-based routing • Dubbo traffic splitting • 后续规划: • 其他协议支持:Thrift,Redis ,TARS … • 在 在 TCM 中提供托管的 Aeraki,为客户提供第三方协议支 持 16 Aeraki 项目后续计划 Dubbo [Done] Default routing [Done] Version-based routing [Done] Traffic splitting [Todo] Header based routing [Todo] RDS 需数据面配合 Thrift [Done] Default0 码力 | 20 页 | 11.31 MB | 6 月前3 13 Istio 流量管理原理与协议扩展 赵化冰path Request-Headers(Delivered as HTTP2 headers) TARS ServantName ServantName, FuncName, Context Dubbo service name service name, service version, service method Any RPC Protocol service name in message 工作量较大,相当于实现了一个独立的 xDS 服务器 Aeraki: 为Istio提供七层协议扩展的开源项目,可以支持 Dubbo、 Thrift、Redis以及私有协议,目前已支持: • Dubbo 缺省路由 • Dubbo version-based routing • Dubbo traffic splitting • 后续规划: • 其他协议支持:Thrift,Redis ,TARS … • 在 在 TCM 中提供托管的 Aeraki,为客户提供第三方协议支 持 16 Aeraki 项目后续计划 Dubbo [Done] Default routing [Done] Version-based routing [Done] Traffic splitting [Todo] Header based routing [Todo] RDS 需数据面配合 Thrift [Done] Default0 码力 | 20 页 | 11.31 MB | 6 月前3
 Service Mesh 在『路口』的产品思考与实践支撑了双十一大促。 数百个 数十万 应用 容器 <0.2ms 数千万 平均RT 峰值QPS 2019年9月,SOFAStack 双模微 服务平台入驻阿里云开始公测, 支持 SOFA, Dubbo 和 Spring Cloud 应用 对外输出19/39 Part 3: 蚂蚁金服的产品实践 SOFAStack 双模微服务平台 DB Advisor Pod Spring = 传统微服务 + Service Mesh 双剑合璧 服务路由 服务限流 服务拓扑 实时监控 ........ Pod Dubbo 应用 SOFAMosn VM SOFA 应用 SOFAMosn VM Dubbo 应用 Pod SOFA 应用 SOFA SDK SOFA SDK 安全加固 基于 SDK 的传统微服务 基于 Sidecar 透明迁移服务方26/39 Part 3: 蚂蚁金服的产品实践 平滑迁移 终态27/39 Part 3: 蚂蚁金服的产品实践 多协议支持 • 除了支持 SOFARPC,也支持广泛使用的 Dubbo 和 Spring Cloud,提供统一的服务治理能力 • 基于 x-protocol,未来也可以方便地支持更多协议 x-protocol介绍:https://www.servicemesher0 码力 | 40 页 | 15.86 MB | 6 月前3 Service Mesh 在『路口』的产品思考与实践支撑了双十一大促。 数百个 数十万 应用 容器 <0.2ms 数千万 平均RT 峰值QPS 2019年9月,SOFAStack 双模微 服务平台入驻阿里云开始公测, 支持 SOFA, Dubbo 和 Spring Cloud 应用 对外输出19/39 Part 3: 蚂蚁金服的产品实践 SOFAStack 双模微服务平台 DB Advisor Pod Spring = 传统微服务 + Service Mesh 双剑合璧 服务路由 服务限流 服务拓扑 实时监控 ........ Pod Dubbo 应用 SOFAMosn VM SOFA 应用 SOFAMosn VM Dubbo 应用 Pod SOFA 应用 SOFA SDK SOFA SDK 安全加固 基于 SDK 的传统微服务 基于 Sidecar 透明迁移服务方26/39 Part 3: 蚂蚁金服的产品实践 平滑迁移 终态27/39 Part 3: 蚂蚁金服的产品实践 多协议支持 • 除了支持 SOFARPC,也支持广泛使用的 Dubbo 和 Spring Cloud,提供统一的服务治理能力 • 基于 x-protocol,未来也可以方便地支持更多协议 x-protocol介绍:https://www.servicemesher0 码力 | 40 页 | 15.86 MB | 6 月前3
 大规模微服务架构下的Service Mesh探索之路HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio ü 支持HTTP/1.1和HTTP/2 ü 扩展Sofa/Dubbo/HSF Dubbo RPC HSF RPC最大的改变:合并部分Mixer功能 Pilot Auth Mixer Golang Sidecar Mixer ü Mixer三大功能: • Check Spring Cloud Adapter Dubbo Adapter Istio Adapter Conduit Adapter 逻 辑 实 现 应用 曾经构想过的服务注册中心理想架构Pilot架构类似:以Pilot为基础做扩展和增强 Sofa Registry Open Service Registry API Data Sync Dubbo Eureka Consul 10 码力 | 37 页 | 7.99 MB | 6 月前3 大规模微服务架构下的Service Mesh探索之路HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio ü 支持HTTP/1.1和HTTP/2 ü 扩展Sofa/Dubbo/HSF Dubbo RPC HSF RPC最大的改变:合并部分Mixer功能 Pilot Auth Mixer Golang Sidecar Mixer ü Mixer三大功能: • Check Spring Cloud Adapter Dubbo Adapter Istio Adapter Conduit Adapter 逻 辑 实 现 应用 曾经构想过的服务注册中心理想架构Pilot架构类似:以Pilot为基础做扩展和增强 Sofa Registry Open Service Registry API Data Sync Dubbo Eureka Consul 10 码力 | 37 页 | 7.99 MB | 6 月前3
 蚂蚁金服网络代理演进之路金融级网络安全为金融业务而生的SOFAMesh Pod Spring Cloud 应用 SOFAMosn SOFA Mesh 控制面 Galley Inspector Citadel Pilot Pod Dubbo 应用 SOFAMosn Pod SOFA 应用 SOFAMosn KMI Pod SOFA 应用 SOFAMosn Sigma TLS,国密 服务鉴权 流量控制 镜像中心 流量控制蚂蚁金服率先大规模落地SOFAMesh UDPA 安全 统一数据 平面API 存量连接无损迁移 提升5倍发布效率 TLS双向加密 支持国密算法 WAF 流量镜像 多协议 SOFARPC Dubbo HTTP1.1/2 平滑升级 性能 单跳CPU增加5%消耗 0.2ms RT 蚂蚁金服100+应用,10w+容器已经mesh化,部分业务链路通过下沉, RT降低了7%,平稳支撑了618大促。SOFAMosn 力扩展 ü 协议扩展 MOSN 通过使用同一的编解码引擎以及编/解码器核心接口,提供协议的 plugin 机制,包括支持 • SofaRPC • HTTP1.x,/HTTP2.0 • Dubbo ü NetworkFilter 扩展 MOSN 通过提供 network filter 注册机制以及统一的 packet read/write filter 接口,实现了 Network filter0 码力 | 46 页 | 19.93 MB | 6 月前3 蚂蚁金服网络代理演进之路金融级网络安全为金融业务而生的SOFAMesh Pod Spring Cloud 应用 SOFAMosn SOFA Mesh 控制面 Galley Inspector Citadel Pilot Pod Dubbo 应用 SOFAMosn Pod SOFA 应用 SOFAMosn KMI Pod SOFA 应用 SOFAMosn Sigma TLS,国密 服务鉴权 流量控制 镜像中心 流量控制蚂蚁金服率先大规模落地SOFAMesh UDPA 安全 统一数据 平面API 存量连接无损迁移 提升5倍发布效率 TLS双向加密 支持国密算法 WAF 流量镜像 多协议 SOFARPC Dubbo HTTP1.1/2 平滑升级 性能 单跳CPU增加5%消耗 0.2ms RT 蚂蚁金服100+应用,10w+容器已经mesh化,部分业务链路通过下沉, RT降低了7%,平稳支撑了618大促。SOFAMosn 力扩展 ü 协议扩展 MOSN 通过使用同一的编解码引擎以及编/解码器核心接口,提供协议的 plugin 机制,包括支持 • SofaRPC • HTTP1.x,/HTTP2.0 • Dubbo ü NetworkFilter 扩展 MOSN 通过提供 network filter 注册机制以及统一的 packet read/write filter 接口,实现了 Network filter0 码力 | 46 页 | 19.93 MB | 6 月前3
 云原生开放智能网络代理 MOSNPod SOFA 服务 MSON Kubernetes TLS,国密 服务鉴权 Mirror Ingress Controller Pod Msg 服务 MOSN Pod Dubbo 服务 MOSN Pod 数据访问服务 MOSN TLS,国密 服务鉴权 Mirror 访问请求 MOSN 多种服务注册中心 SOFA Registry Nacos Etcd ZooKeeper 项目域名:mosn.io Modular Open Smart Network-proxy9/10 MOSN 未来发展思路与方向 更完善的文档及 Demo 安全审计 社区 更多的协议及服务框架支持 Dubbo、SpringCloud、 RocketMQ、gRPC、HTTP3、 MQTT、QUIC、TLS1.3 等 多协议 支持模块化 自适应限流 多协议深度扩展能力 多进程 WAF WebAssembly0 码力 | 12 页 | 1.39 MB | 6 月前3 云原生开放智能网络代理 MOSNPod SOFA 服务 MSON Kubernetes TLS,国密 服务鉴权 Mirror Ingress Controller Pod Msg 服务 MOSN Pod Dubbo 服务 MOSN Pod 数据访问服务 MOSN TLS,国密 服务鉴权 Mirror 访问请求 MOSN 多种服务注册中心 SOFA Registry Nacos Etcd ZooKeeper 项目域名:mosn.io Modular Open Smart Network-proxy9/10 MOSN 未来发展思路与方向 更完善的文档及 Demo 安全审计 社区 更多的协议及服务框架支持 Dubbo、SpringCloud、 RocketMQ、gRPC、HTTP3、 MQTT、QUIC、TLS1.3 等 多协议 支持模块化 自适应限流 多协议深度扩展能力 多进程 WAF WebAssembly0 码力 | 12 页 | 1.39 MB | 6 月前3
 蚂蚁金服 API Gateway Mesh 思考与实践your services as managed APIs 概念 流量 东西流量(内部) 通信协议 路由 鉴权 流控 安全 协议转换 通用协议(HTTP、gRPC 等) 私有协议(WS、Dubbo、Bolt 等) 一般不需要 HTTP to 内部 RPC 协议 基于 Host、Path 等路由 基于 Service 路由 强依赖(Hmac\Oauth\JWT\Session 等) 弱依赖(RBAC) 架构 数据流 控制流 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 MOSN Module Gateway0 码力 | 22 页 | 1.72 MB | 6 月前3 蚂蚁金服 API Gateway Mesh 思考与实践your services as managed APIs 概念 流量 东西流量(内部) 通信协议 路由 鉴权 流控 安全 协议转换 通用协议(HTTP、gRPC 等) 私有协议(WS、Dubbo、Bolt 等) 一般不需要 HTTP to 内部 RPC 协议 基于 Host、Path 等路由 基于 Service 路由 强依赖(Hmac\Oauth\JWT\Session 等) 弱依赖(RBAC) 架构 数据流 控制流 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 MOSN Module Gateway0 码力 | 22 页 | 1.72 MB | 6 月前3
 网易云Service Mesh的产品架构与实现服务发 现 负载均 衡 集群容 错 高可用 配置管 理 调度和 部署 伸缩性 集中化 日志 集中式 监控 分布式 追踪163yun.comwww.163yun.com Dubbo产生背景www.163yun.com Spring Cloud技术栈www.163yun.com Spring Cloud优缺点www.163yun.com Kubernetes作为微服务平台www 发现容易搞定,治理难搞定 • 发现不易替换,治理易替换 • 解耦容器平台与微服务 • 解耦服务发现与服务治理163yun.com 设计思路 Agent热加载 兼容SpringCloud,Dubbo框架 控制面租户隔离 适配VPC网络 同IaaS或者Kubernetes解耦 Restful API 高可用 横向扩展 可视化163yun.com 网易微服务框架www.163yun0 码力 | 35 页 | 6.33 MB | 6 月前3 网易云Service Mesh的产品架构与实现服务发 现 负载均 衡 集群容 错 高可用 配置管 理 调度和 部署 伸缩性 集中化 日志 集中式 监控 分布式 追踪163yun.comwww.163yun.com Dubbo产生背景www.163yun.com Spring Cloud技术栈www.163yun.com Spring Cloud优缺点www.163yun.com Kubernetes作为微服务平台www 发现容易搞定,治理难搞定 • 发现不易替换,治理易替换 • 解耦容器平台与微服务 • 解耦服务发现与服务治理163yun.com 设计思路 Agent热加载 兼容SpringCloud,Dubbo框架 控制面租户隔离 适配VPC网络 同IaaS或者Kubernetes解耦 Restful API 高可用 横向扩展 可视化163yun.com 网易微服务框架www.163yun0 码力 | 35 页 | 6.33 MB | 6 月前3
共 20 条
- 1
- 2













