写点什么

微服务虽已老生常谈,但生命力超出不少人想象 | 解读微服务的 2022

  • 2022-12-31
    北京
  • 本文字数:5889 字

    阅读完需:约 19 分钟

微服务虽已老生常谈,但生命力超出不少人想象 | 解读微服务的2022

本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦架构领域在 2022 年的重要进展、动态,希望能帮助你准确把握 2022 年架构领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。


“InfoQ 年度技术盘点与展望”是 InfoQ 全年最重要的内容选题之一,将涵盖操作系统、数据库、AI、大数据、云原生、架构、大前端、编程语言、开源安全、数字化十大方向,后续将聚合延展成专题、迷你书、直播周、合集页面,在 InfoQ 媒体矩阵陆续放出,欢迎大家持续关注。


作者 | 李艳林 (彦林),Nacos 开源创始人,阿里云微服务引擎 MSE 创始人。  


笔者参与过阿里巴巴集团电商业务微服务的升级和改造过程,并一直在支持历年双 11 的大促活动,活跃在支持一线,也参与了 Nacos 开源和社区发展,目前正在阿里云负责微服务的整体开源规划和微服务引擎 MSE 的研发管理工作。因此在微服务技术的应用、开源和商业化服务上,有着比较立体的感受和思考。微服务虽已老生常谈,但其生命力之强超出不少人的想象。本文将从微服务发展的行业趋势和技术趋势两方面进行解读,欢迎各位参与评论,一起交流。


技术趋势推进行业变革,行业趋势反哺技术价值,两者相互促进,才能持续保持技术的生命力。我们先来看看这一年国内的一些重要事件,这些事件也恰恰揭示并加速着行业和技术趋势:

  • 4 月,Linux 下一代架构基金会下成立了微服务技术组 SIG(Special Interest Group),共同探讨微服务治理标准化的解决方案

  • 4 月,跨不同开发语言和技术框架,微服务治理规范 OpenSergo 开源

  • 5 月,Envoy 社区推出 Envoy Gateway 产品,加入下一代网关角逐

  • 6 月,腾讯正式开源 Spring Cloud Tencent,打造一站式微服务解决方案

  • 7 月,Ingress Nginx 项目暂停接收新功能,将专注于稳定性提升

  • 8 月,CloudWeGo 正式发布 Rust RPC 开源框架 Volo

  • 8 月,直流科技发布服务网格项目(GA 版本)

  • 11 月,Apache Dubbo 首个 Rust 语言版本正式发布

  • 11 月,阿里巴巴开源下一代云原生网关 Higress,基于 Envoy,支持 Nginx Ingress 零成本快速迁移

  • 12 月,字节跳动开源 kube-apiserver 高可用方案 KubeGateway

  • 12 月,中国开源云联盟发布第二批开源成熟度评估结果,10 个项目中微服务领域的开源项目有 4 个

  • 此外,腾讯云 & 华为云先后提供了面向 Nacos 的商业版本


微服务发展的行业趋势

微服务仍在持续高速增长,关注度从开发效率转向交付效率


开源项目 Star 在一定程度上反应了一个项目的热度和生命力,从 Star 的增长上看,目前主流微服务开源项目每年以平均 10% 以上的速度在增长,数字上呈现的是不仅是行业规模,也折射了每年新晋微服务开发者的水位。


  • Apache Dubbo:4.3w,YoY 12%

  • Istio: 3.3w, YoY 11%

  • Nacos:2.6w,YoY 23%

  • Spring Cloud Alibaba:2.5w,YoY 15%

  • Seata:2.4w,YoY 10%

  • Envoy: 2.2w, YoY 16%

  • SkyWalking:2.2w,YoY 14%

  • Sentinel:2.0w,YoY 13%

数据统计自 2022 年 12 月 25 日,计算主子仓库的累加数据。


微服务的持续高速发展,使得他已经和计算、存储、网络、数据库、安全一样成为云计算的基础设施。只不过在每个不同的发展阶段,微服务面临的挑战并不相同。云原生普及之前,微服务开发者专注的是微服务的架构、迭代、交付和运维。随着云原生技术的成熟,微服务也在被云原生化,这时候,开发者和架构师更关心的是如何借助云的优势,简化微服务的运维问题,并更专注在业务的交付效率上。


微服务价值愈加凸显,侧重点转向降本增效


若干年前,阿里巴巴在做微服务转型的时候,看重的是微服务的可扩展性,因为要去快速应对庞大且日益增长的用户体量。但如今,随着人力成本的不断上升,以及云的算力成本的不断下降,微服务在帮助企业提高研发效率、落地敏捷开发的过程中,其发挥的降本增效价值已经越来越明显,这时候,微服务的价值侧重点是发生了变化的。过去的一年,我们看到大量的中小型企业开始采用微服务,快速上量、高效迭代,并将微服务应用建立在云上,加速迈入云原生时代。


此外,云拓宽了微服务的价值边界,其价值不仅体现在开发态的效率提升,也体现在了运维态上的价值。以 Nacos 为例,注册配置中心是一个旁路应用,但却承载着高频服务任务,一旦遇到可用性问题,会大面积影响线上业务,通过云厂商提供的 Nacos 商业版,可以极大的提高微服务在运维态上的价值,提升性能、提高可用性,阿里云的微服务引擎 MSE,以及腾讯云和华为云都提供了面向 Nacos/ZooKeeper/Eureka 的商业化服务。


从互联网走向各行各业,技术成熟度获得业内公认


这一趋势并不是只在 2022 年才出现,提出中台概念的那时候,很多传统企业就已经通过微服务的拆分来构建中台架构了。近一年,随着各行各业数字化进程的加速,微服务不仅出现在直面线上用户的客户服务、市场营销等领域,也在帮助重构设计研发、生产制造、企业内销售财务协作、公司治理等领域,以便企业在市场竞争中保持先发优势。例如禾连健康帮助全国 2000 家医院构建在线体检服务,致景科技构建微服务体系打通全国纺织行业信息流、物流和资金流,实现数智化的综合平台,龙湖千丁借助微服务支撑全国 1000+ 的智慧停车业务,波司登全面推动各项业务容器化、微服务化,建立立体的在线销售体系,提升羽绒服销量。


不仅其他行业在快速落地微服务架构,对技术引入相当严苛的金融行业也正积极拥抱微服务。


随着金融科技的快速发展,市场对金融服务的需求日趋多样化和个性化,对场景金融服务创新、新业务需求敏态响应等提出诸多挑战,这些正不断加速金融企业的微服务架构转型。但是在传统金融领域,微服务架构的落地并没有像互联网企业那么迅速,这主要是金融行业对系统可用性和稳定性的要求非常高。


然而在过去的几年,随着微服务产品的成熟和技术的标准化,这一现状得到了极大地改变,我们看到越来越多的金融企业使用微服务产品改造其核心系统。工商银行通过 Dubbo 将基于 JEE 的单体架构改造成微服务架构,中信、光大、广发银行基于 Seata 的分布式事务能力,来解决交易数据间要求极高的数据一致性难题,中原银行的微服务平台以开源项目 SkyWalking(APM 应用性能管理)为基础,建立了分布式链路追踪系统,为微服务提供分布式追踪、度量聚合和可视化等一体化解决方案。微服务在金融这类严苛的行业下的实践,也充分证明其技术的成熟度和标准化。


微服务发展的技术趋势

标准化,呈现更多市场机遇


事实标准和行业标准并行发展,标准化有利于降低技术的选型和使用门槛,也是技术成熟度的一种体现,微服务领域开源领域呈现出比较明显的头部效应,大部分开发者倾向选择主流方案,以下数据来自我们自行举办的开发者沙龙或线上直播的调研数据,仅供参考。


  • 微服务或 RPC 框架:以 Spring 为主,Apache Dubbo 有 20%+ 的市场份额,在强调国产自主可控的行业,Dubbo 占比会更多些,grpc 以及一些多语言的框架也一些忠实的拥趸。

  • 注册和配置:Nacos 占比最高,Eureka/Consul/Apollo 各有一些市场份额,目前这个领域未看到有的开源项目。

  • 限流降级:Sentinel 占比更高,虽然也有 Hystrix 等一些海外的开源解决方案,但由于本地化的文档和支持比较受限,开发者会更倾向于选择 Sentinel。

  • 分布式事务:分布式事务主要应用于对数据一致性有较强需求的行业,且具有较高的技术门槛,开源选项并不多,目前是 Seata 更受开发者的欢迎。

  • 云原生网关:主要分为 Nginx/Envoy 两大技术流派,APISIX 起步比较早,在国内的开源工作推进更快些,国外的开源项目有很多,例如 Kong/Emissary/Gloo 等,我们今年也开源了基于 Ingress 标准的云原生网关 Higress。

  • 微服务治理规范和实现:相比以上的开源项目,这是一个相对较新的领域,开源选项主要是 OpenSergo 和 Polaris。



微服务开源领域的上下游关系


微服务开源虽然趋于标准化,但从不绑定,各个开源项目之间都是解耦和开放的。这时候开发者选型会侧重在高可用上。例如开源项目本身是否经历过大量的生产实践,并且是自主可控,避免一些不可控的风险;二是开源方是否会提供一些云上的商业版。因为当云成为基础设施的时候,开发者会关注开源项目在云上的稳定性、性能、易用性,这些往往是开源版所不具备的。例如面对流量有损的情况,或是版本发布时,没有做全链路灰度,一个线上故障引发全量业务受影响,没有控制爆炸半径,其实,这些场景都是可以通过商业版来避免的。越是主流的开源项目,越是有可能联合云厂商来提供公共云上的商业版。


因此,当微服务的各个领域的开源选型趋于标准化,开发者们将不再过多纠结在选型上,而是在交付效率和稳定性上时,将给围绕微服务提供培训、产品服务的企业呈现出更多的市场机遇,这也会反哺整个行业的良性发展。

DevSecOps,入口安全关注度提升


在过去的一年里,RPC 和注册 & 配置中心帮助开发者解决研发效率和性能问题,领域趋于稳定;服务网格和服务治理通过流量控制提升高可用能力,领域快速演进;网关帮助企业在数字化入口建立安全和高可用防线,领域处于兴起阶段,开发者关注各种方案的最佳实践和客户案例。


从这些微服务中间件的发展过程中我们发现,以围绕开发者为核心,提升微服务开发效率,保障生产运维高可用的 DevOps 实践越来越多,并且正在向 DevSecOps 快速演进。以云原生网关为例,在流量转发等基础运维(Ops)能力之上,企业和开发者愈加重视作为微服务网关的定制开发(Dev)能力,以及作为统一流量入口的安全(Sec)防线能力。



云原生网关,玩家众多、活跃度高


云原生网关领域,新晋的竞争者数量是去年同期的一倍,正在加速云原生网关的标准化。


技术趋势离不开内外因的合力作用。微服务的技术趋势之所以要单列一项云原生网关,外因是 K8s 逐步成为云计算的新界面,而 Ingress 作为 K8s 的网络通信的标准规范,定义了外部流量进入集群内部的规则描述。而内因则是网关领域长期面临着入口网管零散、诉求各不相同的情况,例如 Nginx 发挥流量访问的网关作用,微服务网关发挥微服务体系下服务和服务之间网络访问的作用,API 网关则实现了不同应用或系统之间的互访。当 Ingress 统一网络互访协议后,就催生了云原生网关的出现。


从技术优劣势上看,传统网关架构 API 定义不一致、多层网关运维代价大、扩展性弱、规则变更连接抖动,越来越不能满足视频 /IOT/ 海外弱网的需求,不能适应云原生时代快速迭代、弹性带来的稳定性挑战。而云原生网关将多层网关进行统一架构和建设,不仅降低了网关架构的复杂度,也提升了缩短了网关的转发链路、提升网关的性能。国内最早开源的 APISIX 已经服务了 1w+ star,并且被 vivo/ 雪球 / 众安保险 / 有赞云应用于生产业务。


我们今年也顺势将在集团已经服务生产业务两年之久的云原生网关 Higress 对外进行开源,他具备标准化、高集成、易扩展、热更新的优势,目的是加速云原生网关在国内的落地。



数据面和控制面解耦,控制面重要性提升、但短期内较难标准化


随着 xDS 协议成事实标准,数据面和控制面解耦,控制面作为数据面和治理平面的连接越来越重要。微服务生态可以有很多灵活集成模式,简单的场景注册 & 配置中心可以直接通过 xDS 协议将服务推到数据面,复杂的场景控制面可以聚合服务和规则推送到控制面,做更灵活、更复杂的治理能力扩展。

控制面的统一将带来诸多好处。


微服务已经从架构演进到治理,从解决如何用好微服务演进到如何管好微服务。管好微服务非常依赖微服务治理,而微服务治理是通过无损上线下、全链路灰度、流量防护等技术手段来减少、甚至避免发布和管理大规模应用过程中遇到的稳定性问题,但微服务治理在落地过程中会遇到各种难题。例如:

  • 在企业内部,往往存在着不同语言、不同通信协议的微服务,这会导致治理微服务的过程中,给业务开发者、架构师平添很多的认知负担,而这类异构会衍生出更多的痛点。

  • 业内对服务治理的能力和边界没有明确的认识,每个企业所定义的服务治理概念不一致,造成很高的理解和沟通成本。

  • 开源微服务框架众多,对于服务治理缺乏一些标准化的约定。例如,Spring Cloud 中定义的微服务接口和 Dubbo 中定义的接口就没有办法互通,通过 Dubbo 和 Istio 管理的微服务也没有办法进行统一治理。

  • 缺少真正面向业务、能够减轻认知负担的抽象和标准。开发者真正想要的可能是简单的、指定服务间的调用关系和配置规则。但现在对于业务开发者来说,不仅需要了解不同微服务框架的部署架构,也要了解不同服务治理方式的概念和能力区别,认知成本很大。


此时,控制面的统一能很好的解决以上困扰。因此我们今年和 bilibili、SphereEx、中国移动等企业,以及 Kratos、CloudWeGo、ShardingSphere、Nacos、Spring Cloud Alibaba、Dubbo 等社区联合发起并开源 OpenSergo 项目,目的就是构建一个和语言无关、和技术形态无关,但贴近业务的统一服务治理规范和实现。另外,Linux 下一代架构基金会也正在致力于服务治理标准的制定。但控制面的统一并非一朝一夕,需要参与方在实践中不断对标准进行磨合、逐步达成共识。



其他的一些技术趋势


多语言:Java 作为国内微服务开发最主流的语言,正在加速云原生化演进,通过 Spring 6.0 / Spring Boot 3.0 / GraalVM 让 Java 能在容器和 Serverless 时代更轻量、更快速运行。随着传统客户数字化的升级,之前 C++/C/Python/PHP 研发正在加速向 Go / Rust 演进,目前 Go 微服务生态逐步完善,前端 Node.js 跨语言调用后端服务场景也越来越多,Rust 微服务生态开始起步,Dubbo、CloudWeGo、Nacos 都在今年发布了 Rust 的版本,相信后续会有更多开源项目跟进。



国产化:核心技术自主可控越加重要,整个软件行业都在加速国产化进程,微服务开源项目需要投入资源,支持 ARM/IPv6/Dragonwell/PolorDB/OceanBase 等国产化的上下游生态,才能获得更多开发中的青睐。

Proxyless:xDS 协议成为事实标准,从 Lib 包依赖模式到 Sidecar 模式到 Proxyless 模式,Sidecar 模式无侵入带来一些运维复杂度,Lib 包模式有侵入但易运维、性能好,社区尝试 Node 级 Proxy 方式,介于两者之间,但目前处于前期状态;从当前的开发者体量看,Lib 包依赖是主流,Mesh 是补充。

总结


标准化、国产化、DevSecOps、云原生网关、Proxyless、统一控制面和多语言,给微服务带来的新的市场机遇。近一两年,国内出现了很多围绕这些领域的初创公司,也给很多成熟企业带来的新的商业方向,两股力量的相互交融延续着微服务的生命力。


如果你对本文感兴趣,欢迎在文末留言,或加入 InfoQ 写作平台话题讨论。后续,迷你书、专题将集合发布于 InfoQ 官网,登录InfoQ 官网注册并将 InfoQ 添加进收藏夹,精彩不错过。更多内容可点击查看系列专题文章


同时,InfoQ 年度展望直播周将于 2023 年 1 月 3 日首场开播,并持续输出精彩内容,关注 InfoQ 视频号,与行业技术大牛连麦~

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-12-31 11:0010683

评论

发布
暂无评论
发现更多内容

ScrollView(滚动条)

智趣匠

android ScrollView(滚动条) 滚动效果

嗨 Jina,帮我画一幅高山流水图

Jina AI

图像生成 Diffusion

扩展接口SmartInstantiationAwareBeanPostProcessor解析

石臻臻的杂货铺

接口

dcm4che 依赖下载异常

JefferLiu

华为云云原生数据库,激发数据活力

与时俱进的时代

【深入浅出Seata原理及实战】「入门基础专题」带你透析认识Seata分布式事务服务的原理和流程(1)

洛神灬殇

分布式事务 seata Alibaba SpringCloud Alibaba Seata框架

深入思考 Schema 管理的几个基本问题

观远数据

华为云数据库GaussDB(for Redis),如何为人们日常生活保驾护航

科技怪授

数据库

华为云数字化解决方案激活企业市场空间,为企业稳健发展再加码!

IT科技苏辞

企业如何轻松上云?华为云弹性云服务器ECS给出答案

IT科技苏辞

告别“自建房”,华为云ECS为企业提供更优选

科技说

华为云大数据解决方案赋能金融行业发展,打造5G智慧银行营业厅

IT科技苏辞

本地数据怎么备份上云?华为云对象存储服务OBS帮你实现

科技说

华为云桌面Workspace荣获CSDN年度创新产品与解决方案大奖

Geek_2d6073

EMQX在Kubernetes中如何进行优雅升级

EMQ映云科技

运维 物联网 IoT 节点 企业号 1 月 PK 榜

企业优秀网络环境,为何离不开华为云CDN全站加速服务?

科技怪授

CDN

华为云ECS,专为您打造安全、灵活、高效的应用环境

与时俱进的时代

华为云数据库,安全、专业,值得信赖

与时俱进的时代

华为云CDN引领网站性能优化,助力企业更好发展

科技怪授

CDN

华为云CDN为企业下载加速,极大提升客户体验

i生活i科技

CDN

万字技术干货 |YMatrix 高性能时序数据库引擎的技术实践

YMatrix 超融合数据库

性能优化 Clickhouse 时序数据 超融合数据库 YMatrix

拿下中国信通院多项测评的华为云数据库,究竟有多牛?

与时俱进的时代

华为云OBS对象存储,企业存储的好帮手

科技说

安全、高效、便捷,华为云CDN助力企业体验升级!

i生活i科技

CDN

使用 WebP 图像加速WEB加载

devpoint

Web 前端开发 网站优化 WebP

EfficientFormer 提升速度的同时保持性能,使 ViT 在移动端成为可能

Zilliz

一文读懂Go Http Server原理

捉虫大师

Go HTTP 1月月更

华为云大数据赋能北港集团发展创新,数字化转型成效显著!

IT科技苏辞

华为云OBS助力企业解决数据存储难题

科技说

华为云CDN全站加速助力网站性能全面优化

i生活i科技

CDN

今年大促季,阿里云容器服务有哪些技术和应用新突破?

阿里巴巴中间件

阿里云 容器 云原生

微服务虽已老生常谈,但生命力超出不少人想象 | 解读微服务的2022_架构_李艳林 (彦林)_InfoQ精选文章