网易轻舟团队出品 网易数帆 微服务技术 白皮书 重塑软件生产力 扫描二维码 预约架构师咨询 目录 MICROSERVICECONTENTS TECHNOLOGY 01以微服务为核心的业务架构演进05应用场景 1.1微服务架构正成为主流的业务架构5.1微服务托管 1.2业务架构微服务化面临✁挑战5.2微服务治理 1.3使用开源微服务框架面临✁挑战5.3微服务监控 02轻舟微服务简介06解决方案 2.1轻舟微服务简介6.1行业解决方案 6.1.1金融分布式解决方案 6.1.2工业微服务架构业务系统 6.1.3工业微服务一体化集成平台 03技术优势 3.1开源兼容6.2通用解决方案 3.2代码无侵入6.2.1业务中台解决方案 3.3统一✁微服务管控能力6.2.2开放平台解决方案 3.4丰富的服务治理能力 3.5基础设施解耦 3.6平滑迁移 3.7高效运维 04产品架构07咨询服务 4.1企业级平台特性7.1基于中台思想的总体架构设计 4.2微服务框架NSF7.2业务层架构设计 4.3API网关APIGateway7.3基础设施层咨询及规划设计 4.4分布式事务GTXS7.4实施落地咨询支持 4.5全链路应用监控APM 4.6日志服务LogSeer 01.以微服务为核心的业务架构演进 1.1微服务架构正成为主流的业务架构 大部分的企业在重构现有业务系统和建设新业务系统时选择了微服务架构,以解决传统单体架构开发和交付 ·微服务独立升级,如何进行服务灰度发布 效率低下、无法弹性扩缩容、无法有效能力复用等诸多问题,从而达到快速响应业务需求、支撑业务快速发展的·微服务数量多,版本多,如何快速部署和弹性扩缩容,如何降低部署资源需求 目的。·微服务化改造后,如何保证跨多个微服务的数据一致性 优惠券订单 [用户商品【支付 1.3使用开源微服务框架面临的挑战 面对业务架构微服务化改造中碰到的难题,使用开源SpringCloud、Dubbo以及新一代微服务框架Istio 可以快速开展微服务化改造开发,但是在生产环境使用存在如下诸多挑战 购物车]斑【消息·开源框架的功能不完善,无法满足企业需求,需要进行私有化扩展;例如缺少统一管控平台,配置参数分散 运维复杂度高;例如缺少分布式日志、分布式事务等基础组件;例如Istio不支持Dubbo和Thrift协议, 单体架构微服务架构 Sidecar升级需重启服务、缺少多场景限流能力等。 通过采用微服务架构,带来如下收益: ·解耦软件代码复杂性,便于理解和维护 ·开源框架的规模、性能、稳定性等非功能性无法满足企业级诉求,需要进行私有化增强和优化;例如lstio控 制面Pilot全量推送机制导致网格大规模使用受限;Ilstio数据面sidecar双向流量拦截以及使用远端策 略控制导致请求延时大幅增加;Istio控制面在大量服务并发启动时会发生拥塞导致服务启动超时等。 ·分而治之、独立迭代,提高交付效率,加速满足业务需求·业务代码侵入性大,使用SpringCloud、Dubbo等微服务框架开发,需要在业务代码中插入服务注册、 ·服务治理、灰度发布,保障业务稳定性和连续性治理等一系列业务无关代码,导致代码耦合,开发成本增加。 ·系统基于分子原子服务构建,重用度高,利于实现能力开放 1.2业务架构微服务化面临的挑战 实现,也有基于AlibabaSentinel实现等;服务限流有基于Redis+Lua实现,也有基于GoogleGuava实 现等。 业务架构微服务化改造过程中,会将单体巨石应用拆分为多个功能内聚的微服务,原来进程内函数调用变成·缺少业务平滑迁移能力:传统单体架构向微服务架构迁移,开源框架无法提提供单体架构应用和微服务架构 了跨节点的网络服务调用,同时每个微服务支持独立部署、扩容和升级等,应用架构的变化对研发和运维带来了应用相互发现、相互调用、异构通信协议、迁移过程中可观测性保障等能力;微服务架构向服务网格架构迁 一系列挑战:移,开源框架无法提供微服务架构应用和服务网格架构应用相互发现、相互调用、流量平滑调度、服务统一 ·微服务之间如何发现和调用治理等能力。 ·微服务配置分散,如何进行统一配置 ·微服务依赖多个外部服务,下游服务异常如何保障服务自身的稳定性 运维投入增加,需要专职人员投入到框架部署、稳定性保障、问题排障以及版本升级等运维操作;例如Istio 处于快速发展阶段,版本更新选代快,版本升级投入大;例如Dubbo默认ZK注册中心在服务批量上线时 ·业务调用链跨越多个微服务,如何发现业务瓶颈点,如何快速发现单个微服务的异常的可靠性保障等。 P3-P4 02.轻舟微服务简介 考拉海购、网易严选、网易云音乐等互联网应用在应对互联网快速变化的过程中,不约而同选择了微服务架接入轻舟微服务Agent就能获取服务治理相关功能,例如服务注册、服务限流、服务熔断降级、服务容错等能力。 构,在实际的生产过程中,积累了丰富的经验,沉淀出通用的能力,在这样的背景下,轻舟微服务应运而生。 支持网易7000+物理节点,1800+应用,8000+集群,总计30万+次构建,60万+次发布, 3.3统一的微服务管控能力 轻舟微服务提供了SpringCloud、Dubbo和服务网格统一微服务管理能力,包括:服务管理、服务注册与 網易有道 NETEASEyoudao考拉海购 网易云音乐 8 网易支付 网易云阅读 网易美学 发现、服务监控、服务鉴权、调用链追踪以及服务拓扑等等。 对于SpringCloud、Dubbo和服务网格的服务,轻舟微服务实现了统一的服务注册和发现功能,实现了传 统微服务架构和服务网格之间的相互发现和调用,并提供了统一的服务治理能力。 ?eQ 网易七鱼网易易盾网易云信LOFTER易信网易云课堂CC直播网易视频云 3.4丰富的服务治理能力 轻舟微服务平台提供了完善的服务治理能力,主要包括:服务限流、服务熔断降级、服务容错等等。 服务限流是指当某个服务的请求流量超过预设阈值的时候,后续的请求将不再响应,从而将服务处理的流量 轻舟微服务限制在某个高点之下。而服务熔断降级是指当下游服务因为某种原因突然变得不可用或响应过慢,上游服务为了保证自身服务的可用性,不再继续调用目标服务,直接返回,有效保护上游服务稳定运行。 轻舟微服务是围绕应用和微服务打造的企业一站式PaaS平台,支持SpringCloud、Dubbo和服务网格等 微服务框架统一管控,提供应用托管、治理、监控等全栈能力,帮助用户构建可管、可控、无侵入的微服务平台。 服务可以选择其他可用的下游实例进行请求重试,解决个别服务实例异常导致整体服务可用性下降问题。 03.技术优势3.5基础设施解耦 轻舟微服务不感知底层基础设置,可以兼容各家云厂商的私有云、公有云以及混合云平台。对于接入轻舟的 微服务支持部署在各种负载类型上,包括虚拟机、物理机和K8s容器,满足用户灵活使用计算资源的要求。 3.1开源兼容 轻舟微服务服务网格,微服务支持在K8s容器集群部署,也支持在虚拟机部署,对于未使用K8s容器的用 轻舟微服务全栈基于主流开源组件构建,包括SpringCloud、Dubbo、lstio、Envoy、ApolloConfig户,也可以在轻舟微服务平台上使用服务网格。 轻舟微服务兼容主流SpringBoot、SpringCloud和Dubbo版本,兼容开源Istio,应用代码和配置无需改 动就能接入轻舟微服务。 3.6平滑迁移 网关、全链路监控等,解决了传统架构向微服务架构演进过程中相互发现和调用、异构协议兼容以及迁移过程中 3.2代码无侵入的可观测性等问题。 微服务架构迁移到服务网格架构:轻舟微服务通过统一异构注册中心,解决了微服务架构和服务网格架构服 应用的依赖包配置,基于Agent的微服务框架无需修改用户代码和依赖包。务不能相互发现的问题;通过提供Agent+Sidecar双擎微服务能力,解决服务网格不具备动态配置、TRACE注 基于SpringCloud、Dubbo等开发的应用无需更改依赖包,就能通过轻舟微服务Agent接入轻舟微服务平入、方法级监等代码级能力的问题;通过提供加入/退出服务网格能力,用户可以根据业务需要自由选择加入网 台,实现微服务治理。格和退出网格;通过统一的流量调度和服务治理能力,用户可以在控制台实现流量在微服务架构和服务网格服务 基于Springboot、SpringMVC等开发的应用,无需在业务代码中引入SpringCloud等分布式组件,通过 实例间的调配,实现业务流量平滑迁移,迁移过程中统一治理。 P5-P6 3.7高效运维·角色和权限控制 轻舟微服务平台融合了应用指标监控服务(Metrics数据)、应用性能监控服务(Tracing数据)、日志服应用的运维通常涉及研发和运维,而运维又可以划分为平台运维、应用运维和基础设施运维等角色。不同 务(Logging数据)以及报警服务,各服务本身架构清晰可伸缩,运维难度低并且使用不同的方式关联起来,使得的角色对应管理操作各不一致,因此轻舟微服务提供了角色和权限控制机制,同时平台提供了租户管理员、项 平台用户可以及时发现问题,并高效的进行运维。除通用监控外,还支持自定义业务指标监控,自动采集代码里 内的自定义业务指标,统一到监控中心进行展现、分析和问题定位。通过数据自动化收集、数据可视化展示,使用户能够及时、全面地掌控各个产品的应用性能情况,定位性能瓶颈。 目管理员、安全管理员、运维管理员等诸多角色,方便您为不同的账号快速定义角色和权限 ·操作审计 操作审计帮助您监控并记录轻舟微服务账号的活动,包括账号登陆、服务变更、查看敏感资源等行为。您可以将这些行为事件导出到本地文件,然后追踪资源变更、安全分析和行为合规性审计等操作。 04.产品架构·监控告警 运维人员需要第一时间获取服务异常信息,并快速做出响应。轻舟微服务平台提供了服务的监控和监控告 警机制,用户可以自定义各项服务监控指标的告警规则,以及邮件、短信等多种通知方式。 控制台 账户权限多租户多项目监控告警操作审计 API网关APIGateway 认证鉴权发布管理流量控制熔断降级安全防护 4.2微服务框架NSF 服务路由协议转换数据转换API审计自定义插件微服务框架提供了SpringCloud、Dubbo和服务网格统一的微服务管控,支持服务注册发现、服务鉴权以 全链路应用监控APM开放分布式事务GTXS 及丰富的服务治理能力。 服务拓扑链路追踪 性能监控异常监控 应用跨数据库事务 ·服务限流 SpringCloud跨服务事务 监控oqqna 微服务框架可以对每个服务配置限流规则,实现服务的流控,防止服务请求处理过载,确保服务能够稳定 日志服务LogSeer 全文检索全链路检索 ServiceMesh 事务消息运行。限流规则可以从QPS和线程两个维度进行配置,同时可以针对方法进行限流配置,确保服务在应对突 日志解析业务监控 治理事务轨迹 发流量时,能够以指定服务能力平稳运行。 微服务框架NSF·服务熔断 注册发现服务拓扑流量限制服务容销熔断降级 智能路由负载均衡参数分流流量染色配置管理 单体架构应用变成微服务架构应用后,一个服务可能会依赖众多下游服务,对这些服务配置熔断规则可以精准屏蔽下游异常服务,确保自身服务的稳定运行。微服务框架提供从错误率维度进行熔断规则配置,当下游服务请求错误率超过阅值时,将自动阻断对下游服务的请求,避免异常从下游向上游传递,同时还提供了降级配置,实现了主服务不可用的情况下使用降级服务使得核心业务不受损。 4.1企业级平台特性·服务容错 ·租户和项目微服务框架可以对服务请求配置容错规则,通过请求重试,屏蔽网络闪断或下游服务实例异常对服务请求的影 轻舟微服务独创的租户和项目体系,用户可以根据自身企业的部门划分、团队划分和项目划分在轻舟微服响。容错规则可以指定不同容错方式,可以在同一个下游服务实例或其他下游服务实例进行请求