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

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

科技

作者 | 李艳林 (彦林),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 写作平台话题讨论:https://xie.infoq.cn/

官网专题已发布于 InfoQ 官网,点击【阅读原文】即可查看,登录 InfoQ 官网注册并将 InfoQ 添加进收藏夹,精彩不错过。

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

今日好文推荐

取代搜索,“干掉”艺术家?顶流「AIGC」的疯狂与争议

市场增速超20%,国产操作系统“浴火重生” | 解读操作系统的 2022

直面成本“刺客”、拒绝繁杂技术花样,压力之下云厂商改变方向|解读云原生的 2022

马化腾内部开炮:有些业务都活不下去了,周末还打球;阿里云香港服务器“史诗级”宕机;马斯克萌生退意 | Q资讯

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
人生也许败北,但生活可持续发展有生命力的服饰这样打造《2022企业生命力500强榜单》揭晓,大数据揭开企业生命力20大发现小错带来大悲剧王黎明校友:是公益引爆了我更强大的生命力把资源集中到更有生命力的产品!10月份基金数据出炉,这类基金正加速清盘…数智双行,平安人寿深度聚焦保险服务,构建保单持续生命力延时摄影下各种蘑菇的生长过程....被旺盛的生命力惊到了!《梨花颂》阮富仲访华显示中越关系不受南海问题拖累的强大生命力美国人也酷爱菊花新冠感染后,虽已“杨康”,但嗅觉长期失灵?Science子刊重磅:背后根本原因找到了!"俄阵亡士兵家属对普京的态度,超出不少西方人的预计"英国版围城:很多人想进来,更多人想出去什么样的女人“不好惹”?测测你隐藏的黑色生命力35岁的我,移民葡萄牙后开启了养老生活!重磅揭晓 | 2022企业生命力500强榜单“五味杂陈的2022年,因疫情得到了不少,也同样失去了许多...”全球华人注意!家中出现这种小飞虫一定小心!看似没危险,但它的危害超出你想象,甚至能致命!国海研究 | 我们的行业,我们的2022,我们的2023!国AA级护眼灯,实力超出国标一大截!全光谱自然光,不输千元灯!30亿买下整个基金公司?一家券商冲刺公募业务的20年四载磨砺,鸿蒙生命力全面绽放资深玩具玩家:有烟火气的渠道才是生命力极强的终极增长渠道不同体制下的四块实验田财报解读丨2022财年业绩下滑,摊上不少事的动视暴雪出路在哪?虽已暴跌65%,但Snowflake的估值仍存在很大问题!2023 年,你将要面对的情况,超出你的想象面对市场变化,维也纳国际酒店如何保持品牌生命力深解:通胀率下降,但生活成本仍高!加拿大下周还会第八次加息吗?重庆交大男生丧父后被退学,背后的隐情超出你的想象…一座慕尼黑现代教堂北京、上海的真实情况,超出你的想象2023的第3天,你将要面对的情况,超出你的想象马未都:寻找文玩行业的时代生命力
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。