铸云之基,云原生架构变革实践之路 主讲人:裴斐 网易数帆云原生资深架构师 现有平台架构简介 落地实践架构反思 架构变革演进实践 现有平台架构简介 平台定位——轻舟微服务平台专注于解决企业分 布式架构下应用服务治理、监控、运维等诸多痛点和难点,是网易数帆云原生平台的核心产品 产品序列——包含微服务框架NSF、服务网格NSM、API网关、全链路应用监控、分布式事务等 落地实践——在网易集团核心业务严选、有道、传媒、音乐以及外部众多银行、保险、券商、能源、制造等企业大规模落地应用 行业资质——获得了中国信通院最高级别的微服务、服务网格平台能力资质认证 平台定位——API网关是承载微服务对外API流量的基础设施,可安全、灵活、快速对外暴露API,具 备高性能、可扩展等能力,提供路由代理、服务治理、审计、API管理等丰富功能。 核心技术——早期基于Java异步化技术实现,后来升级为以Envoy核心数据面的云原生高性能网关。 架构特点—— •性能强:代理性能较传统API网关提升10倍以上 •能力全:覆盖传统代理、微服务网关、KubernetesIngress/Gateway、L7负载均衡器 •开放性:支持使用多种开发语言开发插件扩展API网关能力 平台定位——微服务框架NSF是基于云原生技术的微服务管理平台,提供完整的服务治理能力,支持SpringCloud、Dubbo和ServiceMesh等开源框架纳管,通过无侵入接入技术,助力企业快速转型微服务架构。 核心技术——基于无侵入JavaAgent技术实现,不需要业务修改任何代码,即可快速落地微服务架构,获取微服务全家桶能力 架构特点—— •接入方式开放:业务不需要修改代码,加一行启动命令即可实现微服务全家桶能力增强(注册发现、限流、降级、灰度发布、监控、动态配置等等) •动态管控:通过服务控制中心动态管控微服务 应用认证服务 Eureka Zookeeper Consul Eureka 平台定位——服务网格NSM是基于Istio开源框架增强和扩展的企业级服务网格平台,通过无侵入方式, 为多语言、多协议、不同部署形态的异构应用提供服务管理、服务治理、服务监控、访问鉴权等能力。 核心技术——基于云原生核心组件Istio、Envoy构建 架构特点—— •业务解耦:微服务基础能力下沉到业务无感知的基础设施层 •接入方式开放:支持多种开发语言、服务协议和部署形态的存量及新业务接入 •性能、稳定性:支撑金融级大规模集群接入 配置管理服务 应用监控服务 应用认证服务 应用诊断服务 服务目录 公共基础服务 外部服务 应用监控服务 用户微服务 (提供方) 用户微服务 (消费方) 内部服务访问 Sidecar(Envoy) Sidecar(Envoy) API网关 外部服务访问内部服务 控制中心 知识库服务 控制中心 (NSFServer) 数据面 K8SAPI Server 配置管理服务 配置中心 Apollo 注册中心 Zookeeper K8SRegistry Nacos Eureka APIPlane 监听CRD配置 对接 应用诊断服务 控制中心 Istiod 注册/配置中心 OpenAPI 前端控制台 控制面 落地实践,架构反思 新问题出现架构反思 企业引入API网关后—— •Nginx+Ingress+API网关... •请求链路更长了,延迟增加了,故障点更多了? •部署资源占用更多了? •不同代理组件能力有重合? 能不能将功能重合的代理组件合而为一,降 低链路延时损耗,减少代理组件部署运维成本,减少故障点与维护成本,同时方便统一管理? 新问题出现架构反思 除了服务治理,无侵入Agent能不能干点其他事—— •配置加解密、接口上报、安全等非业务逻辑下沉与解耦? •多种协议转换、互通?去ESB? •...(其他存量Java系统不修改代码定点增强) 无侵入Agent能否更通用,业务也 可以自主扩展想要的逻辑? 新问题出现架构反思 企业引入注册中心后—— •注册中心如何平滑升级? •多种异构注册中心如何共存? •如何实现注册中心容灾与高可用? 仅引入注册中心组件可能并不够,大规模生产应用需要配套的注册中心升级、容灾、高可用等企业级能力支持。 新问题出现架构反思 都说服务网格是下一代微服务架构, 那服务网格之后呢? 中间件等其他通用逻辑怎么办? 服务网格可能并不是终极架构,真正意 义实现通用能力下沉到基础设施的多运行时可能才是? 2023年 平台变革实践 架构变革&平台升级用户收益&价值兑现 客户端 客户端 客户端 平台定位——云原生时代统一的入口流量接入 API网关 客户端 客户端 客户端 API网关 7层负载均衡 TCP/UDP代 理 K8SIngress K8SGatewayAPI Knative网关 轻舟融合网关 KnativeServerless WebService服务 gRPC服务 Dubbo服务 HTTP服务 TCP/UDP服务 和治理平台 •统一服务模型 •统一管控 •丰富治理能力 •开放的自定义能力扩展 核心技术——基于Envoy作为统一数据面引擎 融合化架构—— •纵向融合:流量网关、安全网关、业务网关 •横向融合:API网关,7层负载均衡,TCP/UDP代理,K8SIngress,K8SGatewayAPI,KNative网关 更低的资源成本更小的延时损耗更少的运维成本更小的演进难度 架构变革&平台升级 平台定位——为应用提供代码无侵入的系统能力增强 核心技术——基于JavaAgent无侵入字节码技术增强业务 通用化架构—— •通用增强器:快速、定点增强应用 boot.jar启动模块module-loader.jar下载模块spy.jar沙箱通信 基础层 •开箱即用的应用插件:微服务全家桶能力,系统集成与协议转换能力等 注册发现应Eureka 层 用Nacos Zookeeper 插件扩展 模块扩展API 动态配置 Apollo Nacos 日志操作API 模块管理 心跳维持 服务治理 流量治理方法治理服务鉴权 配置获取API 沙箱通信 类增强上报 整合Agent Arthas Skywalking core.jar核心模块 注册发现 流量录制 Agent接入API 插件扩展 插件配置 Thin 标签遗传 元数据信息API Agent接入 日志实现 用户扩展 配置加解密 密码热更新 框架版本上报 数据遗传API 数据透传 颜色说明:独立模块核心功能 用户扩展管理平台 管理 框架版本数据库密码管理 APM后台服务治理平台配置中心 ApolloNacos 注册中心 EurekaNacos agent-download插件下载 agent-injector插件注入 降低企业 JavaAgent管理成本 插件获取插件注入 Instrumentation+Bytebuddy 底座 agent-manager管理平台 用户收益&价值兑现 业务应用增强零改造零感知 解耦非业务逻辑到基础设施层 •统一纳管所有增强器,包括业务存量 实例注册 依赖隔离 与基于平台新开发的JavaAgent 插件上传插件配置冲突分析 插件管理实例管理应用管理 架构变革&平台升级 平台定位——为传统微服务注册中心提供迁移、升级、高可用、可视化管控等能力的企业级注册中心平台 核心技术——基于云原生注册中心管理器增强传统注册中心能力 企业级架构—— •统一注册发现: 无侵入服务注册、发现套件 异构注册中心服务间互访 •统一容灾:多级高可用 •统一管理:PaaS化管理与观测 注册/配置中心 Eureka 统一容灾多级高可用 用户微服务 (消费方) Sidecar 统一管理平台 服务发现 Nacos Eureka Zookeeper Consul Zookeeper 同步 统一注册中心 注册中心/配置中心 K8SRegistry Zookeeper 服务注册 用户微服务 (提供方) Agent 用户收益&价值兑现 注册中心接入、迁移、升级零改造零感知 避免注册中心异常时微服务集群大面积故障 异构注册中心服务间“鸿沟”消除 Agent运行时 架构变革&平台升级用户收益&价值兑现 Java应用 非Java应用 非Java应用 SDK SDK SDK 中间件调用 独立运行时 服务调用 服务调用 中间件调用 可由微服务框架NSF演进 可由服务网格NSM演进 多运行时统一管理平台 独立运行时 平台定位——微服务、中间件等通用能力下沉与管理的统一平台 中间件 核心技术——Dapr、Istio、Agent运行时 统一化架构—— •微服务、中间件等通用能力统一下沉与管理 •低损耗运行时方案:Agent运行时 •开箱即用的统一SDK生成器 业务逻辑与通用逻辑彻底解耦,业务迭代速度与专注度提升 中间件 低损耗低门槛实现统一化分布式架构落地 现有微服务与服务网格架构平滑演进升级 THANKS!