从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践

裴斐 架构头条

从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践

作者 | 裴斐

在分布式体系下,微服务技术在经历多年发展之后渐趋成熟。进入云原生时代,微服务技术在云原生理念的驱动下被赋予了新的使命。在 InfoQ 2020 年微服务技术年终盘点文章中,我们对传统的服务框架和云原生的服务网格分别进行了分析,指出了服务框架的进化与困局,服务网格的进步、分化、落地,并给出了企业微服务架构的演进方向。

本文将延续微服务架构演进这个话题,结合网易数帆旗下轻舟微服务团队在诸多企业业务落地的微服务治理实践,阐述企业应用在不同阶段采用不同的微服务治理策略,以及从服务框架到服务网格实现架构平滑演进的思路与方法。

1服务框架:无侵入 Agent 服务治理

服务框架是传统微服务技术的核心所在。早期微服务技术中的服务注册、发现、调用、治理、观测都离不开服务框架。这也带来了一些问题,比如业务研发者需要明显感知服务框架并掌握其中各项非业务相关技术,框架版本升级困难,框架越来越重难于维护等等。网易的互联网业务比较多元,早期各业务没有统一的微服务技术规范和框架,大部分业务选型了 SpringCloud、Dubbo、gRPC 等开源框架,也有少数业务选择自研 RPC 框架。服务框架在微服务架构下的问题随着业务、团队规模的扩大日益凸显,这也催生了 网易新一代微服务平台 —— 轻舟 的建设落地。

2018 年,我们以 业务无侵入 为核心理念构建了轻舟微服务平台,核心数据面 基于字节码增强技术实现无侵入 Agent 服务治理能力业务无需修改代码 即可 一键接入微服务治理全家桶 能力,大幅提高了用户业务微服务化改造效率,降低了业务进行服务治理相关能力的研发成本。轻舟微服务平台目前已在网易集团内外诸多企业业务落地。

从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践


相较于传统服务框架,无侵入 Agent 服务治理有如下 核心优势


从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践


无侵入 Agent 服务治理方式一定程度上对传统服务框架的组织与接入方式进行了重新定义,为单体应用、初步微服务化的应用提供了便捷的微服务治理套件落地方案。最近我们注意到一些大型互联网企业也开始使用无侵入 Agent 方式进行微服务治理落地,让我们更加坚定了这种设计的有效性与长期性。

总结:

无侵入 Agent 服务治理技术可以帮助企业业务高效完成微服务化改造,也为后续微服务架构的持续演进提供了技术基础。

2服务网格:低门槛高性能推动企业级落地

服务网格(Service Mesh) 是将无侵入服务治理定义的更为彻底的微服务架构方案。通过将微服务治理能力以独立组件(Sidecar)整合并下沉到基础设施,服务网格可以实现应用业务逻辑与服务治理逻辑完全分离,这也使支持多语言、热升级等高阶特性变得顺理成章。网易服务网格建设 是随着严选、新闻等互联网业务容器化上云开始的。轻舟微服务平台与业务部门采用合作共建的方式,制定以 业务无感知、平滑稳定 为服务网格落地的最高宗旨。我们选择由 Google、IBM 背书的 Istio 作为服务网格基座进行扩展、增强,为实现业务无感知、平滑稳定接入进行了深入设计与反复论证,已经帮助多个企业核心业务大规模生产环境落地服务网格。

从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践


服务网格建设思路方面,我们主要从“低门槛”与“高性能”两个维度进行设计。

低门槛:业务平滑落地的支撑能力

真正意义上支撑不同业务的平滑接入是我们在服务网格平台建设初期的主要挑战,具体体现在:

为此,我们在支撑业务平滑落地方面做了大量工作,主要可以归纳为以下几个方面:

高性能:大规模微服务集群的支撑能力

业务平滑迁移是服务网格落地的基本条件,而支撑大规模微服务集群则是生产环境下对服务网格平台的"必考项"。早期 Istio 的设计更多着眼于模型的通用型、灵活性,对大规模生产及微服务集群的支撑能力比较弱,主要体现在:

为此我们在支持大规模微服务集群支撑能力方面做了大量工作,主要归纳为以下几个方面:

总结:

适应不同的业务架构、框架,提供相同的低门槛、高性能平台能力,是服务网格企业级落地的必备条件

3双引擎多模式:从服务框架到服务网格的最后一公里

我们在顺利完成基于无侵入 Agent 服务治理、低门槛高性能服务网格平台在企业业务落地后,业务对我们提出了更高的要求:

我们自身在建设无侵入 Agent 服务治理、低门槛高性能服务网格过程中,也沉淀了一些可以支撑业务架构演进的技术方案:

带着业务的需求,以及已经独立闭环的无侵入 Agent、服务网格技术能力,轻舟微服务平台在 2020 年开启了新一轮 从服务框架到服务网格"最后一公里"能力 的探索,即"双引擎多模式"服务治理能力。

从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践

定义


从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践

核心能力

为了完整支撑微服务的治理纳管与演进迁移,我们对双引擎多模式的核心能力进行梳理与分级(从基础 L0 到高阶 L3),用以指导平台建设能力完整性与落地优先级。整体如下:

平台支持 Agent、Sidecar 分别独立闭环的服务治理能力 L0

微服务平台的基础能力,平台具备每种引擎(Agent、Sidecar)相关的整体能力。业务可以选择一种长期使用。对平台来说,即具备:

多种治理模式下服务管理统一视图 L0

采用不同治理模式的服务可以在平台上统一展现,包括服务、实例列表,调用拓扑,全平台服务概览等功能。

平台具备业务的服务、实例在 演进迁移过程可视化能力,如观测迁移过程中的调用情况(包含跨集群、环境信息)、服务列表、实例列表、监控数据等。

多种治理模式下服务互相发现、调用 L1

采用不同治理模式的服务可以实现互相调用和发现,具备演进 迁移过程服务的可达性

具体来说,具备几方面能力:

多种治理模式服务平滑迁移 L2

迁移过程的平滑,具体来说主要包括:

多种治理模式的服务治理统一、互补 L2

服务处在 Agent、Sidecar、Agent+Sidecar 等不同治理模式下,治理能力需要形成统一、互补。

多种治理模式的服务治理用户无感知技术选型 L3

应用微服务托管 / 治理平台在治理方面的高阶设计目标,是用户无需感知底层使用 SDK、Agent、Sidecar,仅在平台层按功能需求配置、管控。

目前,经过一年多努力,轻舟微服务平台已经主体实现上述 L0-L2 的能力,并在 L3 持续探索,提升平台易用性。

从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践

场景覆盖

从服务框架到服务网格,网易轻舟双引擎多模式服务治理演进实践

在打通已有 Agent 和服务网格能力、形成多模式治理后,微服务平台可以覆盖比较完整的业务场景:无论 业务现有技术栈是基础框架,或是增强过的 SDK,都可以选择自己的演进路线,通过 Agent、Sidecar 完成 长期的微服务架构平滑演进、升级

场景

路线

说明

场景 I:典型演进

① -> ⑤ -> ⑦ 或 ① -> ⑥

从目前基本框架(如 Spring Cloud、Dubbo、gRPC),先引入 Agent 快速落地服务治理能力,再逐步演进到企业级服务网格

场景 II:架构升级演进 I

② -> ⑤ -> ⑦ 或 ② -> ⑥

从目前已有部分治理能力(如 Hystrix、Sentinel、Apollo)的框架,先引入 Agent 全面接管并补齐服务治理能力,再逐步演进到企业级服务网格

场景 III:架构升级演进 II

从目前已有部分治理能力(如 Hystrix、Sentinel、Apollo)的框架,逐步演进到企业级服务网格

场景 IV:服务网格企业级托管

从目前原生服务网格,完成企业级服务网格平台托管

场景 V:一步到位服务网格

从目前基本框架(Spring Cloud、Dubbo、gRPC),逐步演进到企业级服务网格

总结:双引擎多模式服务治理能力可以充分利用已有的微服务平台能力,比较好地填补从服务框架到服务网格平滑演进过程的技术空白,提供更整体、更平台化的微服务架构演进支撑能力。

4未来展望

轻舟微服务平台未来会沿着双引擎多模式架构路线持续建设,主要包括:

5参考资料

网易轻舟从微服务框架到服务网格架构平滑演进最佳实践(详见内文第 4 部分)

https://mp.weixin.qq.com/s/Eb2TDqxs69300S-RTGH0Jg

解读微服务的 2020:框架在左网格在右,云原生时代的微服务路在何方

https://www.infoq.cn/article/4Zog2lMBqKjAeMTc8Add

落地三年,两次架构升级,网易 Service Mesh 实践之路

https://www.infoq.cn/article/bLVkRO09oZT1hB53SkfJ

云原生时代的流量入口:Envoy Gateway

https://www.infoq.cn/article/SF5sl4IlUtUxuED3Musl

作者简介

裴斐,网易数帆云计算技术专家、资深架构师。10 余年企业级平台架构和开发经验,目前主要负责网易轻舟微服务治理团队,专注于企业微服务架构及云原生技术的研究与落地工作。带领团队完成网易轻舟 Service Mesh、微服务框架 NSF、API 网关等多个项目在网易集团落地及商业化产品输出。



展开阅读全文

页面更新:2024-04-28

标签:轻舟   网格   网易   框架   引擎   平滑   企业级   集群   架构   场景   能力   模式   业务   数码   平台

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top