设为首页收藏本站 今天是: 2022-05-21    美好的一天,从现在开始

阿里云:微服务架构下,服务治理体系经过了一个什么样

[复制链接]
查看8 | 回复0 | 2022-5-4 04:02:24 | 显示全部楼层 |阅读模式
        近年来,由于企业规模的不断扩大,IT系统的快速扩张,以及市场环境的日新月异的变化,原有单体架构的IT系统已经无法满足业务需求。为了更高效、更灵活地支持业务发展,企业已经从单体架构转向微服务架构。

        微服务架构与公司自身的技术积累和业务特点息息相关。很多互联网公司在实际落地的时候,都会根据自己的特点,打造自己的架构和组织形式。同时,微服务也离不开配套的治理能力,比如服务可观察性、全链路压测与跟踪、注册发现、配置中心、服务网格等。

        在这些技术的发展过程中,行业逐渐形成了百花齐放的局面,导致了不同的开发语言和框架,给企业带来了沉重的维护负担。而且,不同框架之间的互通也存在损耗多、复杂度高等问题。

        面对这些痛点,阿里云于2022年1月开始与字节跳动、字节跳动、社区等企业探讨合作服务治理的常态化和标准化,并共同立项。目前该项目已经通过2.0协议开源。采访阿里云,了解如何构建微服务治理规范项目。

        采访嘉宾:

        阿里云高J技术专家张虎兴;阿里云高J研发工程师卢彦波;陈志辉,基础设施团队研发工程师。

        :微服务架构下,服务治理体系经历了怎样的演进?

        阿里云:在阿里内部,服务治理体系经历了从SDK方式到Fat-SDK方式,再到Java/Java的演进。具体来说,阿里巴巴从2008年开始进行微服务转型,诞生了服务框架HSF,支撑服务治理能力;2012年框架开源,提供优秀的服务治理能力。现阶段的服务治理能力与SDK和服务框架集成。从 2013 年开始,为了解决 SDK 升级成本高的问题,中间件团队推出了轻量级隔离容器,通过 Fat-SDK 将服务治理能力从业务中转移出去。剥离出来,大大提高了升级效率。

        但是,这种方式仍然面临着更高的升级成本。为了将服务治理体系与业务彻底解耦,自2019年以来,阿里巴巴通过下沉服务治理能力,实现了无需任何业务改造即可接入服务治理的能力。后来我们把这个技术方案商业化,通过阿里云微服务引擎MSE在云端服务企业客户。

        同一时期,随着业务发展的多元化,多语种业务在集团内部逐渐流行起来。阿里巴巴开始探索多语言治理解决方案,采用+化的方式服务异构语言,提供基础服务。治理能力。

        在这个过程中,我们逐渐发现异构微服务框架之间存在着不同的体系和认知,很多概念不能完全对齐。用一套标准的服务治理解决方案来管理各种微服务系统变得越来越困难。. 因此,我们迫切需要一个与语言和技术形式无关,而是贴近业务的统一服务治理规范,让异构的微服务系统能够互联互通,统一管理。

        综上所述,阿里巴巴内部服务治理经历了基础数据建设、治理能力探索、能力标准化建设三个阶段。

        :从2016年开始,我们经历了从巨石架构到微服务的彻底转型。在整个过程中,我们也面临着很多服务治理的问题。从单体到微服务的整个部署和管理模式开始转变。为了提高研发效率和稳定性,我们对服务进行了不同粒度的拆分。因此,在 2017 年,我们开始思考如何管理微服务,从而开始通过容器进行部署和隔离。,极大的解决了我们在管理方面的问题,同时也搭建了统一的注册中心和配置中心基础中间件。整个微服务也围绕这两个基础中间件做了很多服务治理。

        早期,我们的语言是比较统一的。基本上,Go 语言是主要语言,并且有一个统一的框架。因此,服务治理也更倾向于SDK方式进行管控。随着这几年业务的快速发展,内部出现了Java、C++等一些语言。我们尝试了Mesh方法进行管理。在这个过程中,我们逐渐发现整个维护成本其实不小,性能损失在减少。这种协同的环境也存在比较大的挑战。因此,我们也很期待一套可以在框架、Java等系统中使用的服务治理标准。

        : 现在微服务治理框架成熟了吗?包括阿里巴巴在内的行业服务治理现状和痛点是什么?

        


        阿里云:服务治理是微服务转型达到一定阶段的必由之路。

        随着越来越多的企业完成微服务化改造,服务治理的话题逐渐增多,越来越多的架构师和开发者开始意识到服务治理的必要性。目前,服务治理在国内市场正处于快速发展的上升期。

        一方面,经过十多年的微服务,阿里巴巴微服务实例规模已达百万级,3.0与HSF的融合进展顺利,三位一体的重大历史使命即将完成. 它非常成熟,具有商业化的服务能力。它已经在一些领先的互联网公司进行了非常深入的实施实践。

        另一方面,除了一些领先的互联网公司正在实施服务治理外,其他已经完成服务化转型的企业对服务治理也有强烈需求,但缺乏完整的方法论和最佳实践,缺乏开源规范。解决方案。引入服务治理变得困难。

        总的来说网络项目交流,最D的痛点是:

        业界对服务治理的能力和边界没有清晰的认识,各个企业定义的服务治理概念不一致,导致理解和沟通成本高。开源的微服务框架很多,服务治理的标准化约定很少。例如, 中定义的微服务接口和 中定义的接口无法相互通信,也无法对传递和管理的微服务进行统一管理。缺乏真正面向业务并减少认知负担的抽象和标准。开发人员真正想要的可能是服务之间简单的、指定的调用关系和配置规则。但是对于商业来说,

        : 目前我们基本都是微服务。随着新业务的快速增长,服务治理的标准化变得越来越重要。因为我们的业务在发展的时候,一般都很难转型升级,或者会带来很多的转型成本。因此,在企业发展过程中,提倡统一框架、统一治理,标准制定成为重要环节。对于微服务之间的通信,我们选择了gRPC作为统一协议,并做了统一的仓库管理接口定义,方便各个微服务的开发和调用。

        总的来说,我们的主要痛点是:

        服务治理主要基于实现和问题解决。没有完善的标准和规范,对研发成本会有一定的了解。业务框架以 Go 和 Java 为主。对于主流框架,我们倾向于通过方法提供业务使用,缺乏开源统一的SDK和治理标准来实现治理能力。

        :为什么要在企业间推动建立服务治理规范项目?项目有什么形式的开源许可证?

        阿里云:随着阿里内部异构微服务业务的不断增加,以及越来越多的企业将微服务上云,我们发现由于语言异构和框架异构导致的微服务治理成本已经成为问题。指数增长。每个开源框架和协议对微服务治理的定义概念和能力都不一致,导致开源实现和云服务实现无法完全对齐。使用开源解决方案的企业无法顺利迁移到云厂商提供的服务治理相关的PaaS服务。尤其是在多云成为趋势的情况下,企业在选择不同的云厂商时,无法享受到标准的PaaS级别的服务治理能力。

        对于用户来说,不同的框架和协议代表了不同的治理模型和治理规则,这给他们带来了额外的认知负担。现有的微服务治理框架极大地限制了新语言和框架的采用,导致企业的技术迭代非常有限。

        考虑到这几点,我们将在 2022 年 1 月与 Byte 和 Byte 等企业,以及 、 、 和 等社区讨论合作服务治理的常态化和标准化,并共同建立一个项目,帮助开源用户和其他云供应商。都是非常友好的2.0 开源协议,用于开源。

        ,Open的意思是开放的,它取了服务治理Ser和Go这两个英文单词的前半部分,合起来就是一个开放的服务治理项目。

        :这两年我们的海外业务发展迅速,业务基本没有历史包袱。因此,为了跑得更快,我们倾向于将这部分业务直接往云原生的方向发展。基本上会选择社区生态较好的开源软件和标准,如gRPC、K8S等。同时也融入了我们的开源框架,但是在这个过程中,我们发现社区缺乏更好的服务治理标准,我们自己造轮子不划算. 因此,我们也与阿里巴巴进行了多次技术分享交流,发现各自有自己的出发点,于是共同探讨了业界成熟的服务治理标准体系。

        


        :在多语言、多框架、异构基础设施的条件下,服务接口标准化需要解决哪些问题?

        阿里云:我们需要解决的是不同框架、不同语言的微服务治理概念中的碎片化和无法相互沟通的问题。致力于在不同的微服务框架和通信协议之间达成共识,形成云原生服务治理规范,让框架的用户不会因为不同的语言和不同的框架而分离,让架构师可以用统一的规范来描述它自己的内部微服务架构。这里要解决的主要问题包括:

        得益于阿里巴巴内部实践和微服务引擎MSE,自然支持主流Java微服务框架等主流Java微服务框架;同时,字节跳动、社区、社区也是共同发起人,所以最初的支持、-、、、-go等框架。我们欢迎更多微服务框架的开源方加入我们,丰富的支持范围将助力微服务框架在企业落地。

        : 包含哪些功能,有哪些注意事项?

        阿里云:主要包括三个部分:

        对于控制平面,统一了治理规则,用户不再需要绑定开源解决方案或云厂商提供的服务。不同的数据平面和控制平面只要连接到Spec,就可以无缝连接到现有的服务治理体系。

        对于数据平面,提供了不同的访问方式:

        :项目中“统一标准”的呈现形式是什么?如何保证中立?

        阿里云:与其他开源项目优先提供实现不同,它从一开始就坚持规范优先的理念。首先,以标准化的形式约定服务治理的基本概念,定义服务治理的配置和对应的语义。

        它从一开始就是一个社区项目,通过 2.0 协议开源。在后续的微服务规范制定和发展中,标准的制定和实施都是公开、透明、民主的。未来将采用邮件列表、双周社区会议等机制,确保通过社区协作确定相关规范。它也对其他云供应商开放。欢迎共建。

        : 项目的未来计划是什么?

        阿里云:让异构微服务统一管理,让更多微服务互联互通,是在成立之初就确立的长期发展目标。

        未来,社区将进一步完善服务注册发现和服务治理能力,提供统一的服务治理控制平面,并招募更多的企业和微服务框架加入社区。同时,我们看到了控制平面标准化和数据平面多样化的趋势。使用-go-等网关作为数据平面的流量入口,在能力上可以与SDK、Java等方法的数据平面完全对齐,给更多用户带来简单、一致、更多云原生服务治理经验。

        项目地址://-

        了解更多软件开发及相关领域,点击访问官网:获取更多精彩内容!

        文章来源互联网,侵权请联系276698048@qq.com,我们尽快删除处理。
回复

使用道具 举报