欢迎光临yb体育登录有限公司官网!
yb体育登录10年专注高精度恒温恒湿设备定制生产厂家
全国咨询热线:0242-182077660
解决方案
联系我们
yb体育登录有限公司
全国免费服务热线:0242-182077660
手机:12846439083
邮箱:admin@sxcztx.cn
地址 :青海省海北藏族自治州科尔沁右翼中旗均最大楼4351号
联系人:陈先生
您的位置: 主页 > 解决方案 >
解决方案

实践微服务六年,我获得了这些心得体会

时间:2021-09-21 00:22:02 来源:yb体育登录 点击:

本文摘要:使用微服务架构将导致基础架构的需求、成本和庞大性激增,但会提高企业服务的一连性和弹性,进而影响企业整体运行文化。在接纳微服务之前,企业需要花费时间和精神去相识微服务架构,以及架构与企业自身的相关性。作为一名软件工程师,本文作者给出了对接纳微服务架构的切身体会。 本文最初公布于 Medium,经原作者授权由 InfoQ 中文站翻译并分享。我是一名微服务架构的忠心拥趸,虽然有时也会对其感应不爽。

yb体育登录

使用微服务架构将导致基础架构的需求、成本和庞大性激增,但会提高企业服务的一连性和弹性,进而影响企业整体运行文化。在接纳微服务之前,企业需要花费时间和精神去相识微服务架构,以及架构与企业自身的相关性。作为一名软件工程师,本文作者给出了对接纳微服务架构的切身体会。

本文最初公布于 Medium,经原作者授权由 InfoQ 中文站翻译并分享。我是一名微服务架构的忠心拥趸,虽然有时也会对其感应不爽。使用微服务时,我时常能感受到“小中见大”、“稳中有快”等理念,另一方面也会警惕“厨子太多烧坏了汤”。

回首 2014 年,其时我任一家公司的软件工程主管,该公司正在通过接纳微服务架构实施数字化转型。那时数字化、转型和微服务这些词对我就是天籁之音。作为一名工程主管(虽然我现在是一位解决方案架构师),我很是希望能相识这种新模式。为了跟上技术前沿趋势,我阅读了大量微服务架构相关的文章,与我的网络技术卖力人交流,并研究了一些适用的用例。

那时我发自心田地相信微服务架构,确信单体应用将会消亡。今后,我服务过的每家公司都已接纳或正在接纳微服务架构。虽然其中一些公司的向导团队并没能说服组织为什么要选择微服务,一个普遍的回覆是:“其他公司都在这样做,在每次集会上大家都说微服务是一种改变游戏规则的方式,所以我们也这样做吧。

”通过为各个业务领域中的多家公司提供体系结构和设计支持,我发现将现有的单体应用重新架构为微服务架构需要支付大量的耐心、时间和履历。在给出我在接纳微服务中的五点切身体会之前,首先重新审视一下什么是微服务?有说法提出,这种架构样式事实并没有一个的尺度界说,只是存在一些“围绕组织和业务能力、自动部署,端点智能、对语言和数据疏散控制”的特征。

在我看来,如果一个组织必须具备上述所有特征才气去使用微服务,那么我们就不仅是在谈论技术厘革,而是在推动组织内的重大文化厘革。下面给出我在实践微服务中的五点主要体会。跳出项目,拥抱产物传统的软件开发方式中,开发团队一起构建一个单体应用软件,进而由生产支持团队治理该软件。

在这种方式中,生产支持团队作为软件的新所有者,通常并不完全相识组件的构建历程,例如代码的逻辑,所使用的技术等。他们的焦点事情是确保满足业务需求的生产系统能正常地运行,团队之间通常也没有界说有效的相同途径。生产系统中泛起的问题将导致开发回滚到某个还原点,或是给出快速的短期修补。有时,生产代码中的一个微小问题将触发整个历程全部重新开始。

而问题通常必须由原始开发团队解决,这导致整体延迟。如果以瀑布式开发方式(即前期设计、集中式的版本公布流程、构建和部署)处置惩罚微服务,则存在庞大的风险。最终获得的可能是一个更庞大的系统,无法享受微服务所答应的任何利益。

在微服务中,经常提及的是“产物”,而非“项目”。使用微服务方法,利益相关者(包罗用户、法式、产物和技术人员)致力于产物这一配合目的。在投资、软件交付到维护的整个历程上,产物模式都差别于项目模式。

产物直接影响所提供的业务功效。差别于传统方法中构建单体应用需要多个团队到场,微服务模式支持单个团队完全卖力构建和治理某一小部门软件。团队在产物模式下是稳定的、跨职能的,并以效果为导向的,独立完成“设计 - 构建 - 运行”全历程。每个团队都是遵循统一陈诉层级的独立部门,凭据门路图去分块构建独立的软件单元。

某一层上的团队可将另一层上的团队视为他们的(内部)客户,相互协作去解决业务问题,而不是以权责交付的方式事情。由于工程团队以产物模式事情,他们相识软件在生产中的行为,因此可以立刻解决所有问题,制止发生延误。CapitalOne 秉持 YBYO(You Build You Own,自己构建)理念,团队全权卖力设计、构建、测试和部署生产情况中的软件。

工程团队直接到场产物,并与用户互动。用户不停提供反馈,资助团队构建高质量的产物。要点:控制规模使团队可以更好地构建和治理微服务。

产物模式支持与终端用户建设更精密的互助、治理和构建关系。更具责任感和自由度:思考宏观,服务“微”构建我在加入 CapitalOne 之前曾任职另一家公司的团队,为公司的电子商务网站建设产物目录服务。

该公司接纳了微服务方法,产物目录服务以请求为准则,向最终用户提供产物列表。由于我的团队控制着数据和目录数据库,因此选择 Java 和 SpringBoot 构建服务。

yb体育登录

这些编程语言支持富厚的软件库,我们对此很是满足。服务最终公然提供在面向最终用户的 API 网关上。公司中同样另有其他几个团队,使用各自的技术来构建自己的服务。

从产物的角度来看,每个功效都受到构建在异构平台上的各个服务的支持。这样的模型解决了一个重要的问题,那就是在招募和培训团队中,不必使用相同的技术客栈构建单体应用。

在微服务模型中,每个团队都可以选择适合自身业务需求的工具,据此招聘新的团队成员。微服务是一种通过服务构建其中业务应用组件的体系架构。每个服务都是业务流程中的一个独立于其他服务的逻辑软件单元。这种不依赖于其他服务和技术选择的自由度,打开了探索新技术、构建当地软件组件以及基于服务界说规模举行设计的大门。

在 CapitalOne,软件产物与业务功效是保持一致的。各个业务线(lines of businesses,LOB)构建和治理自己的产物。跨职能的业务线主要是用于构建和治理企业产物的,例如满足所有 LOB 需求的数据湖宁静台。

要点:松耦合和紧关联的原则,支持团队构建种种解决更大业务问题的产物。关键在于实现:RESTful 一劳永逸微服务架构实际上是一种微组件架构。“微”指组件的粒度细,而不是指所袒露接口的粒度。微服务是以 API 为接口的组件,但并非所有的微服务组件都袒露 API。

在从单体应用向微服务架构过渡中,我们可以保持袒露的 API 数量稳定。在这一过渡历程中,确定初始计划将需要几天甚至几个月的时间,反过来增加了初始阶段的前期成本。

大型应用剖析为微服务,可能需要更多团队的协作。其中连续存在着过分工程的风险,导致建立了比需求更多的微服务,增加了体系结构的庞大性。我在加入 CapitalOne 之前曾任职的一个公司,确定了一些可迁移到微服务架构的单体业务应用。

产物的愿景并没有发生改变,因为整体的业务功效没有改变。公司招聘了更多的团队,期望这些团队继承起服务的所有者。公司凭据公布时间表部署服务,但基础架构团队并未受到计划的影响,仍然掌控着生产系统。

计划在启动两年后的希望不大,花光了预算。如上的许多实例讲明,公司内部团队应对微服务的实现做更好的相同。

yb体育登录

实现数字化转型的不仅仅是应用的开发和新的技术,还需要在产物分析、预算估算、架构、部署法式的重新设计、基础架构扩展等历程上做大量的事情。过渡到微服务,需要时间、款项,以及对业务问题看法上的重大转变。要点:微服务并非只是一种架构方式,而是一种会影响到组织中每个团队的文化变迁。收益是恒久的:虽然庞大价格大,可是弹性可扩展接纳微服务需要建设多个产物、服务和团队。

在接纳这种庞大的体系结构之前,组织必须确立一个扎实的门路图。企业需要接纳强大的企业级产物,支持各个团队以微服务方式事情,凝聚在一起。其中包罗支持 API 文档的工具,以及源代码治理、问题追踪器和实现自动部署的工具等协作工具。

服务由工程团队构建,以 API 方式袒露在 API 网关上。API 网关类似于一个 REST API 的市场,是组织日常业务运营的主干。一旦组织步入微服务方法的正轨,连续的服务流就能得以建立、升级、替换等。

工程师可能并不知道每个服务简直切位置,由服务发现系统支持服务的自动检测,使得服务之间可以相互发现。为了获得更好的性能和故障隔离,微服务组件需要一个专门的基础架构。每个微服务应具有自己的公布时间表,无需依赖于其他服务而随时部署到生产情况。因此,选择有效工具连续并实时监视和分析微服务的是至关重要的。

API 是微服务世界的接口,因此 API 的日志记载、性能监视和宁静性也是组织中 IT 服务历程的关键。构建有弹性的微服务,可遵循多种设计模式,例如,“重试模式”(Retry Pattern)通过透明地重试失败操作实验毗连到服务或网络资源,支持应用处置惩罚瞬态故障;“断路器模式”(Circuit Breaker pattern)支持应用在毗连远程服务或资源时发生错误时能很好地处置惩罚故障。

这样制止了微服务生态系统中泛起级联故障,进而提高应用的稳定性和弹性。在微服务中,每个服务都是独立的组件,每个功效和服务都可以扩展,而不必扩展整个应用。关键服务可部署多个实例,实现高可用性和更好的性能,而不会影响其他服务的性能。要点:只管过渡到微服务需在前期需投入大量的资源和事情,但随着时间和事情上的支付,以及自动化工具的使用,业务将从中受益,可快速向市场交付有质量产物。

微服务并不普适并非所有的业务和用例都适用微服务。例如,团队必须构建具有很少功效的简朴应用,或是大型单体应用无法拆分成较小的模块,或是不相识微服务体架构所带来的权衡。此外,某些企业可能尚未具备快速开发和部署应用的能力,或是不需要连续监视应用或业务,因为发生故障的恢复时间较长对业务影响不大。和所有其他工具一样,微服务只是一种工具,并非普适于所有业务问题的解决方案。

业务优先于一切,底层系统则可以适应任何体系架构模式,无论是单体应用还是微服务。在决议使用微服务之前,每家企业必须首先相识自身的业务需求,权衡利弊后再决议是否转向微服务。CapitalOne 在完全接纳云和微服务架构之前,投入了大量时间和精神研究微服务应用。

有能力的向导、富有远见的产物团队和技术精湛的工程团队通力互助,使得 CapitalOne 实现了银行技术向导者这一目的。要点:使用微服务并非免费的午餐。

使用微服务架构将导致基础架构的需求、成本和庞大性激增,那么企业为什么要接纳微服务?具有大客户群的大公司,将通过在短时间内向客户提供优质的产物而蓬勃生长。他们的系统需要始终保持运行的状态,为漫衍在各个地域的客户提供服务。微服务是一种有助于实现此目的的解决方案。在当今的世界中,随着云原生基础架构的泛起、DevOps 交付管道的自动化以及容器的接纳,公司应该研究一下微服务的优势。

需要指出的是,企业决议选用某种技术,并非完全因为别人用着很酷。相反,在接纳微服务之前,我们需要花费时间和精神去相识这种架构模式,该架构与企业自身的相关性。希望我的切身体会能有助于读者深入相识微服务。原文链接https://medium.com/capital-one-tech/5-key-takeaways-from-my-experience-with-microservices-3b40a57b136d关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「相识更多」,即可移步InfoQ官网,获取最新资讯~。


本文关键词:实践,微,yb体育登录,服务,六年,我,获得了,这些,心得体会

本文来源:yb体育登录-www.sxcztx.cn

在线客服
联系方式

热线电话

12846439083

上班时间

周一到周五

公司电话

0242-182077660

二维码
线