乐趣区

关于阿里云:云原生微服务技术趋势解读

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

笔者参加过阿里巴巴团体电商业务微服务的降级和革新过程,并始终在反对历年双 11 的大促流动,沉闷在反对一线,也参加了 Nacos 开源和社区倒退,目前正在阿里云负责微服务的整体开源布局和微服务引擎 MSE 的研发管理工作。因而在微服务技术的利用、开源和商业化服务上,有着比拟平面的感触和思考。微服务虽已陈词滥调,但其生命力之强超出不少人的设想。本文将从微服务倒退的行业趋势和技术趋势两方面进行解读,欢送各位参加评论,一起交换。

2022 年盘点内容: 云原生微服务技术趋势解读

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

  • 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 个
  • 12 月,《微服务治理白皮书》荣获阿里云开发者社区年度最受欢迎电子书 TOP1
  • 此外,腾讯云 & 华为云在往年先后提供了面向 Nacos 的商业版

微服务倒退的行业趋势

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

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

  • 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 利用性能治理)为根底,建设了分布式链路追踪零碎,为微服务提供分布式追踪、度量聚合和可视化等一体化解决方案。微服务在金融这类严苛的行业下的实际,也充分证明其技术的成熟度和标准化。

此外,在“谁在应用 Nacos”的征集中,咱们也看到了越来越传统企业的身影。

微服务倒退的技术趋势

标准化,出现更多市场时机

事实标准和行业标准并行倒退,标准化有利于升高技术的选型和应用门槛,也是技术成熟度的一种体现,微服务畛域开源畛域呈现出比拟显著的头部效应,大部分开发者偏向抉择支流计划,以下数据来自咱们自行举办的开发者沙龙或线上直播的调研数据,仅供参考。

  • 微服务或 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。

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

微服务开源尽管趋于标准化,但从不绑定,各个开源我的项目之间都是解耦和凋谢的。这时候开发者选型会偏重在高可用上。例如开源我的项目自身是否经验过大量的生产实践,并且是自主可控,防止一些不可控的危险;二是开源方是否会提供一些云上的商业版。因为当云成为基础设施的时候,开发者会关注开源我的项目在云上的稳定性、性能、易用性,这些往往是开源版所不具备的。例如面对流量有损的状况,或是版本公布时,没有做全链路灰度,一个线上故障引发全量业务受影响,没有管制爆炸半径,其实,这些场景都是能够通过商业版来防止的,例如 MSE 的微服务治理便能够无效升高客户发版过程中的故障危险。

越是支流的开源我的项目,越是有可能联结云厂商来提供公共云上的商业版。

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

DevSecOps,入口平安关注度晋升

在过来的一年里,RPC 和注册 & 配置核心帮忙开发者解决研发效率和性能问题,畛域趋于稳定;服务网格和服务治理通过流量管制晋升高可用能力,畛域疾速演进;网关帮忙企业在数字化入口建设平安和高可用防线,畛域处于衰亡阶段,开发者关注各种计划的最佳实际和客户案例。

从这些微服务中间件的倒退过程中咱们发现,以围绕开发者为外围,晋升微服务开发效率,保障生产运维高可用的 DevOps 实际越来越多,并且正在向 DevSecOps 疾速演进。以云原生网关为例,在流量转发等根底运维(Ops)能力之上,企业和开发者更加器重作为微服务网关的定制开发(Dev)能力,以及作为对立流量入口的平安(Sec)防线能力。

云原生网关,玩家泛滥、活跃度高

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

技术趋势离不开内外因的合力作用。微服务的技术趋势之所以要单列一项云原生网关,外因是 K8s 逐渐成为云计算的新界面,而 Ingress 作为 K8s 的网络通信的标准规范,定义了内部流量进入集群外部的规定形容。而内因则是网关畛域长期面临着入口网管零散、诉求各不相同的状况,例如 Nginx 施展流量拜访的网关作用,微服务网关施展微服务体系下服务和服务之间网络拜访的作用,API 网关则实现了不同利用或零碎之间的互访。当 Ingress 对立网络互访协定后,就催生了云原生网关的呈现。

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

咱们往年也趁势将在团体曾经服务生产业务两年之久的云原生网关 Higress 对外进行开源,他具备标准化、高集成、易扩大、热更新的劣势,目标是减速云原生网关在国内的落地。不同于传统的先开源后提供商业服务的门路,MSE 云原生网关和  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、对立管制面和多语言,给微服务带来的新的市场时机。近一两年,国内呈现了很多围绕这些畛域的初创公司,也给很多成熟企业带来的新的商业方向,两股力量的互相融合连续着微服务的生命力。

阿里云微服务也在这一年播种了许多,要感激客户、开发者、上下游生态搭档、技术媒体和社区、评测机构等,持续均衡好眼前商业利益和长期理想主义,疏导整个行业走向远方。

由阿里云云原生利用平台出品的《微服务治理技术白皮书》,取得了阿里云开发者社区年度最受欢迎电子书 TOP1,下载量超 2.2w,这是微服务畛域开发者群体大、增速快的最佳作证,欢送点击“此处”收费下载浏览(举荐 PC 端关上、下载,提供电子书版和音频版)。

退出移动版