9

CloudWeGo 助 NextArch 基金会推动标准化建设

 3 years ago
source link: https://www.cloudwego.io/zh/blog/2022/04/01/cloudwego-%E5%8A%A9-nextarch-%E5%9F%BA%E9%87%91%E4%BC%9A%E6%8E%A8%E5%8A%A8%E6%A0%87%E5%87%86%E5%8C%96%E5%BB%BA%E8%AE%BE/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

CloudWeGo 助 NextArch 基金会推动标准化建设

By NextArch | Friday, April 01, 2022

导语:2022 年 3 月,NextArch 基金会正式成立微服务技术小组,致力于推动微服务技术和开源生态的持续发展,根据各个企业在微服务生产实践中遇到的问题,针对不同行业和应用场景输出标准化解决方案,并且联合 PolarisMesh、TARS、go-zero、GoFrame、CloudWeGo 和 Spring Cloud Tencent 等开源社区提供开箱即用的实现,降低终端用户的使用门槛。来自腾讯、字节跳动、七牛云、快手、BIGO、好未来和蓝色光标等多家企业的技术专家已经加入技术小组,欢迎更多企业和开源社区加入。

2021 年 11 月,Linux 基金会正式成立 NextArch 基金会,共计 40 余家企业或单位联合参与了该基金会的筹建工作,并作为首批共建和支持单位加入,目前已增至 53 家企业。NextArch 基金会致力于在异构基础设施、多元化技术栈和混合云场景下的构建下一代技术架构,始终秉承一个开放中立的治理模式,发展适合企业数字化转型的开源生态。

微服务是下一代架构的关键部分,越来越多企业采用微服务架构。市场调研表明,随着企业数字化转型持续深入,2023 年微服务云市场的规模达到 18.8 亿美元,从 2018 到 2023 年的复合年增长率达到 22.4%。众所周知,微服务相比于传统架构具有诸多优势,但是,我们在微服务实施的各个环节中都可能面临问题。

为了降低微服务架构的落地成本,来自腾讯、快手、字节跳动、好未来、七牛云和蓝色光标等多家企业的技术专家在 NextArch 基金会成立微服务技术小组,共同探讨各自企业在微服务领域中遇到的问题,分享大家在生产过程中的实践经验,并且面向不同的应用场景和终端用户,联合相关开源社区输出标准化的解决方案。

image

在采用微服务架构之前,我们需要思考为什么采用微服务架构,并不是所有的开发团队和发展阶段都适合采用微服务架构。通常,采用微服务架构可以解决以下问题:首先,开发团队具有一定的规模,所有成员共同开发一个单体应用的内耗太高,如果采用微服务架构,每个服务可以由单个或者少数成员独立负责。第二,业务系统的功能模块很多,耦合在一起会增加测试和部署的成本,任何一个模块故障也会导致整个系统故障。第三,功能模块之间的负载无法隔离,容易互相影响,没有办法针对热点模块的计算层或者存储层进行扩容。

如果我们采用微服务架构,单个服务是⾮常简单的,但是,分布式服务之间的功能调用远⽐单体应用内部更加复杂。在单体应用中,⼀个函数可以调⽤其他任何一个公共函数。在微服务架构中,一个函数只可以调⽤同⼀个微服务的函数。如何实现分布式服务之间的通信是微服务架构的首要问题,构建高性能、高可用的远程调用能力并不容易。值得庆幸的是,已经有 grpc、thrift、tars、go-zero、GoFrame、cloudwego/kitex 和 spring cloud 等大量开源的分布式服务开发框架,这些框架可以帮助终端用户快速地构建微服务。不幸的是,仅仅把服务开发出来并且跑通是不够的,保障大规模服务的稳定运营还需要考虑诸多问题,例如:在分布式架构中如何处理基础设施以及应用层的各种异常、如何实现大规模服务的无损发布和流量调度,如何定位和分析复杂调用链路中出现的问题等。对于中大型企业来说,还存在异构的开发技术栈和运行时环境,存在跨地域和混合云的架构要求,如何在更加复杂的应用场景中解决上述问题,面临更多的挑战。

目前,这个方向还没有开箱即用的解决方案,终端用户必须在不同的基础设施和适当的工具之间做出抉择,才能解决各种问题。近日,NextArch 微服务技术小组向基金会提交了首个提案,根据各自企业在分布式或者微服务生产实践中的经验和痛点,面向多语言、多框架和异构基础设施,针对不同行业和应用场景输出微服务落地的标准化方案,并且依托相关开源社区提供推荐实现,方便终端用户落地。我们也期待更多企业和开源社区加入 NextArch 基金会,共同探讨分布式或者微服务治理的标准化方案。

image

部分 NextArch Microservice SIG 成员引文:

PolarisMesh 单家骏

腾讯云专家工程师,具备 10 年以上中间件研发经验。北极星开源社区(PolarisMesh)联合发起人,负责开源项目的技术规划、代码开发和社区运营等工作。

自分布式架构发展至今,微服务成为了复杂业务系统的首选模式,在企业得到了充分的生产落地,然而各个微服务框架及工具链,对于微服务治理体系的理解存在差异性,使得业务系统在实现微服务治理上存在较大的成本,同时也不利于微服务技术的沉淀及长期发展。北极星是腾讯自研和开源的微服务治理框架,覆盖了腾讯内部 90% 以上的业务,解决了业务系统因多语言、多框架以及业务差异性所带来的服务治理不一致的问题,在腾讯内部完成了服务发现和治理的标准化。我们期望通过加入 NextArch 基金会这样一个中立组织,可以讨论业界微服务治理的相关实践及解决方案,沉淀出标准化的服务治理体系,促进微服务生态的进一步发展,也期望北极星开源社区可以推动并承载微服务治理标准体系的落地。

go-zero 万俊峰

万俊峰,七牛云技术副总裁,go-zero 开源社区/go-zero 作者。负责 go-zero 框架的规划、代码编写、代码 review、工具链规划、社区建设、开源推广

微服务在发展了这么多年之后,已经呈现出百花齐放的状态,各种微服务框架和治理能力在很多公司都得到了充分的落地,并带来了巨大的业务价值。但当前的现状也没有形成足够的技术共识和规范,我们需要进一步提炼和抽象微服务的能力,并加以标准化。这样可以更好的沉淀经验,并将各语言的微服务框架提供规划化对接,从而推动微服务技术的进一步发展。同时也期望在 SIG 组织能够更多的讨论微服务落地的各种最佳实践,也期望能够通过 go-zero 开源社区帮助推动共识的微服务治理标准落地。

GoFrame 郭强

腾讯高级工程师,GoFrame 开源框架项目发起人及主要贡献者,负责 GoFrame 框架发展规划、社区建设维护、核心代码开发。GoFrame 是一款模块化、高性能、企业级的 Go 基础开发框架。

微服务是一种架构设计思想,目的是为了有效解决业务复杂度提高带来的项目架构问题。微服务需要解决的不仅是技术问题,也是项目协作问题。在"微服务化"过后,项目架构将引入更多的痛点:职责边界界定、服务高效通信、分布事务处理、微服务化治理、服务版本管理、项目迭代协作等等。微服务思想发展至今,这些痛点的解决方案已比较成熟,并且大同小异。NextArch 微服务 SIG 需要做的是在这些方案之上分析共性之处,形成统一化和规范化的解决方案。以帮助企业更快速地实现微服务化,同时,也需要提供一些最佳实践,帮助企业提高在服务化后的项目管理手段。80% 的解决方案抽象,20% 的最佳实践沉淀。

CloudWeGo 罗广明

字节跳动微服务架构师,CloudWeGo 开源负责人。CloudWeGo 是一套由字节跳动开源的、可快速构建企业级云原生架构的中间件集合,专注于解决微服务通信与治理的难题,具备高性能、可扩展、高可靠的特点。

微服务技术发展至今,业界涌现出一大批微服务开发框架、技术和最佳实践。这个多样化是不可避免的,没有一个微服务开发框架能够统一所有的语言,但是微服务架构里面所涉及的服务治理体系,却可以做到统一和规范化。NextArch 微服务 SIG 正是在这样的背景下诞生了,旨在提供统一服务治理体系,解决共性问题,将促进微服务框架和技术的进一步演进和发展。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK