美文网首页
为什么要构建微服务底座

为什么要构建微服务底座

作者: robot_test_boy | 来源:发表于2022-09-04 00:06 被阅读0次

在组织全面拥抱微服务以后,随着组织内的团队规模越来越大,其中的每一个团队都很可能开始专注于一组特定的编程语言和工具。即便使用同样的编程语言,不同团队也会在实现同一个目标时选择不同的工具组合。尽管这并没有错,但是这会导致开发者换到其他团队的难度增大。创建新服务的习惯以及代码结构会有很大差异。

严格规定团队能够使用的工具和编程语言,并强制不同团队采用同一套标准方式来创建服务,会损害团队的工作效率和创新能力,最终导致所有问题都采用同样的工具。幸运的是,可以让团队在为服务自由选择编程语言的同时遵循一些通用的实践方案。可以针对所使用的每种语言封装一套工具集,同时确保工程师能够访问那些能够方便各个团队遵守实践的资源。

开发者应该以相同的格式将日志集中保存到同一个地方,像断路器、功能标志的功能以及共用相同的事件总线的能力也应该是现成可用的。团队不仅可以做出选择,还可以保证运行服务的基础设施保持一致。这些工具就组成了服务底座。可以在服务底座的基础之上构建新的服务,而不需要做太多的前期调查和准备工作。

接下来,要思考下如何为服务构建一套底座——将普遍关注的内容和架构选型抽象化,同时还能够加快团队启动新服务的速度。

不管使用哪种开发语言,都有很多选项,所以挑选组件所花费的时间会越来越长,同时还要冒着选出来的类库不够理想的风险。一个组织很有可能根据它们所需要解决的问题来使用两到三种语言作为主要语言。因此,使用同一种语言团队是会同时存在的。一旦某个团队在某些类库上获得了一些经验,为什么不将这些经验造福于其他团队呢?可以提供一套已经应用于生产环境的类库和工具集合,这样,开发者在开发新服务时直接从这些类库和工具中进行选择,而无须通过深入了解和挖掘每个类库的功能和特点来权衡它们的优缺点。

为了简化团队创建服务的工作,花些时间来为组织内构建和维护服务所使用的每种语言提供一套基本框架和经过审查的工具是很值得的。开发者同样应该确保这个框架遵循了可观测性标准以及对基础设施相关代码的抽象。同样这个框架应该能够反映对服务通信方式的架构选型,比如,如果组织倾向于服务间采用异步通信,那么就要提供现有的事件总线基础设施所必需的类库。

微服务底座框架能够让团队选择一个技术栈(语言+类库)并快速搭建起一个服务,目的是简化服务的创建过程,同时确保开发者拥有一套所有服务都要遵循的标准,而不管哪个团队负责相应的服务。

提供微服务底座能够降低开发者所面对的风险,这是因为微服务底座能够降低开发者所选择的语言和类库组合并不适用于特定需求的可能性。

此外对于测试也很重要,测试分层时可以把微服务底座部分放到一层,统一测试而不是每个服务都去重复测试。

摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》

相关文章

  • 为什么要构建微服务底座

    在组织全面拥抱微服务以后,随着组织内的团队规模越来越大,其中的每一个团队都很可能开始专注于一组特定的编程语言和工具...

  • 微服务架构多“微”才合适?

    微服务架构多“微”才合适? 前情提要:互联网架构为什么要做服务化? 一、互联网架构为什么要进行服务化-总结 上一篇...

  • 产品经理的自我修养第7篇——用户研究II

    为什么要做用户研究?是为了构建人物模型打好基础。为什么构建人物模型?是为了确定产品主要的服务对象,以及确定对象的使...

  • 感恩日记

    1.昨天买了一个沙袋,我们并不知道要先安装好再把底座放到地板上,而是一拿到就直接把底座放地上,因此只好把底座...

  • #ReactApp项目构建流程【2】

    ReactApp项目构建流程【2】 React服务端渲染 为什么会有服务端渲染?webapp开发模式很多框架都由浏...

  • netty集群方案

    集群构建的思路 服务的注册 服务的提供 服务的发现 负载均衡策略 服务的注册 要实现服务的注册,首先我们要有一个注...

  • 【睿妈谈产品】切苹果器

    这是宜家的一款,整体上是不错的产品 很多市面同类型产品,没有底座,宜家的有 【问题1】为什么需要底座? 1 假如没...

  • Gulp入门

    Gulp 是什么? Automate and enhance your workflow 为什么要前端构建? 修改...

  • Chris Richardson微服务翻译:重构单体服务为微服务

    Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之...

  • Chris Richardson微服务翻译:微服务之事件驱动的数

    Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之...

网友评论

      本文标题:为什么要构建微服务底座

      本文链接:https://www.haomeiwen.com/subject/gpeynrtx.html