您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[网易]:网易数帆微服务技术白皮书 - 发现报告
当前位置:首页/行业研究/报告详情/

网易数帆微服务技术白皮书

信息技术2023-03-28网易�***
网易数帆微服务技术白皮书

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