肥宅钓鱼网
当前位置: 首页 钓鱼百科

微服务到底怎么划分才合理(到底什么是微服务)

时间:2023-08-16 作者: 小编 阅读量: 4 栏目名: 钓鱼百科

领域服务的建议边界是子域,因为对于单个团队来说,边界不应太大。业务域通常是由多个子域组成的大部分业务区域。实际上,它们在域中的每个服务都代表该域的一部分,我称之为子域,但是您可以决定将其命名为不同的东西。新构架,新问题毫无疑问,微服务已证明命名很重要。包括领域服务,API端点及其代表的概念。去年,Uber在Uber上发布了面向领域的微服务,向我们展示了微服务的发展,使其更加注重领域。

著名DDD领域驱动设计社区意见领袖NTcoding认为微服务就是领域服务,建议使用领域服务替代微服务,banq赞成这种做法,在我的DDD书籍中已经将这两个概念混为一谈,当然他们还是有细微差别,比如微服务可能有关技术或应用方面功能例如增删改查CRUD可以在微服务中实现,但是不是好的领域服务功能,因为CRUD是一种数据库操作概念,是业务逻辑相当简单甚至为零的领域服务功能,当然它也对应API的POST/PUT等资源操作,从CRUD角度能够学习理解微服务 领域服务和领域API. 下面是ntcoding原文翻译,原文点击标题。

微服务时代到来对于软件架构来说是一个好时机。我记得当年如果你有想设计多个数据库的想法时,会立即被当时人们处以死刑。但是,对微服务的过度关注已经削弱了微服务的真正好处,即提高服务质量和开发速度。

在过去的几年中,我看到人们将微服务称为领域服务。我已经从这种小型重组中看到了好处,我现在建议不要使用单词微服务microservice,而是使用领域服务Domain Service。

对微服务的批评很多,而且还有很多恐怖的故事。但是,我不希望对微服务进行口口相传,以大肆宣传一个新的流行语。对于微服务运动取得的成就,我将不胜感激,这些想法应继续得到应用。

任何可以使用的东西都可能被滥用。所有的好主意和概念都可能以错误的方式应用。我们的工作是在行之有效的基础上,改进行之有效的方法。我已经看到将微服务框架化为领域服务保留了松散耦合的优势,并消除了对微服务的痴迷。

微服务也有很多负担,通常会抵消有关其优点的讨论。这主要是由于应用不当,人们指责微服务,而不是有关概念本身的任何事情。

什么是领域服务或领域API?

领域服务建立在微服务的基本定义之上:它是一个松散耦合的,可独立部署的软件体系结构元素,由一个团队拥有。

重要的是,领域服务的重点在于它代表了一个专业领域,企业在该领域中开发能力以向客户交付产品和价值主张。

领域是企业逻辑体系结构的一部分。组织构建的产品可以为客户群提供价值主张。产品由逻辑上存在于业务领域中的功能提供支持。

业务领域通常是多个团队在其中开展业务开发的领域。一个业务域可以细分为多个子域。领域服务的建议边界是子域,因为对于单个团队来说,边界不应太大。

业务域通常是由多个子域组成的大部分业务区域。

举一个具体的例子,这是Uber的定义以及他们业务中的一些真实例子:

Uber领域代表与功能的逻辑分组相关联的一个或多个微服务的集合。设计域时常见的问题是“域应该有多大?”

我们在此不提供任何指导。有些域可以包含数十个服务,有些域只能包含一个服务。重要的任务是仔细考虑每个集合的逻辑作用。例如,我们的地图搜索服务构成一个域,票价服务是一个域,匹配平台(匹配的骑手和驾驶员)是一个域。这些也不总是遵循公司的组织结构。

Uber Maps地图组织本身又分为三个域,在三个不同的网关后面有80个微服务。

Uber不使用术语“子域”,他们更喜欢使用微服务。实际上,它们在域中的每个服务都代表该域的一部分,我称之为子域,但是您可以决定将其命名为不同的东西。

新构架,新问题

毫无疑问,微服务已证明命名很重要。我认为我们所有人都参与了许多关于“微服务应该有多大?”的辩论,人们拿起材料告诉我们微服务应该是100行或更少的代码行。即使在2021年,作为顾问和培训师,这仍然是我一生中经常遇到的问题。

因此,更改名称(将微服务更名为领域服务)将产生重大影响。有可能会失去当前的某些优势并可能引入新的问题。我看到的新问题是,现在人们在问“什么是领域?”,“我们如何找到领域边界?”,“我们如何命名领域API?”。但是,这是一件好事。这些是我们希望人们提出的问题,因为它们与理解业务以及使体系结构的设计与业务保持一致有关。

其他缺点肯定会出现。每个想法都可能被滥用和错误应用,尤其是好主意。我绝不暗示这是架构的终结,但我已经看到了足够的证据表明这是向前迈出的一大步。

改变叙事方式可以提高利益相关者的参与度,在使用术语“领域服务”或“领域API”时,我发现产品所有者/经理,业务分析人员以及组织中的其他同事更加感兴趣,他们更加注重业务,技术含量较低。

我的感觉是,微服务被非工程师和非架构师视为纯粹的技术概念。我通常不会看到那些使用微服务一词或参与有关微服务的对话的人。

在谈论领域服务/ API时,我看到那些人更舒适地使用这些术语,并进行了相对详细的对话,涉及定义领域服务的边界,业务规则如何在域服务中而不是在BFF中存在,以及对帮助命名的真实渴望。包括领域服务,API端点及其代表的概念。

不捆绑任何方法论或框架

品牌重塑尝试通常用于宣传新的头或使新的思想领袖建立自己的形象。这不是尝试这样做。实际上,将微服务重新定义为领域服务并不依赖于任何想法或框架。这更多是为了改善协作和设计文化。

去年,Uber在Uber上发布了面向领域的微服务,向我们展示了微服务的发展,使其更加注重领域。但是您不需要遵循他们的方法。域驱动设计已经存在了将近20年,但是您无需阅读,学习或应用任何有关域驱动设计的知识,就可以对软件体系结构采用更加面向领域的方法。

无需重写系统

好的微服务架构(MSA)已经是好的面向领域的架构(DOA)。无需重新设计和重写您的系统即可与最新的体系结构流行语兼容。

如果您确实查看了微服务架构,并且觉得它不是非常面向领域的,那么这就是考虑重新设计的一个很好的理由,因为您正在改进架构的设计,而不是尝试与流行语兼容。

从现在开始…

不是我开始调用微服务域服务或域API的趋势。在过去的几年中,我已经看到它在一些大客户中有机地发生了。但是,我觉得以业务为中心的框架会导致更好的对话和更好的设计架构,从现在开始,我将使用术语域服务和域API。希望取得积极成果的趋势将继续下去

    推荐阅读
  • 王者荣耀血少怎么办(设置目标攻击血量最少的英雄操作步骤)

    我们一起去了解并探讨一下这个问题吧!王者荣耀血少怎么办王者荣耀血少可以通过多打野提高自己的生命力和技能;还可以回城或者吃塔下血包,买装备吸血刀等方法。进入游戏以后,点击右上角设置图标。找到优先攻击目标,勾选绝对血量最少。

  • 金华失业保险缴费流程(金华市失业金怎么领取)

    按月缴交,职工个人缴交部分由用人单位代扣代缴。个体劳动者(一)申请人向市、县(市、区)人力资源社会保障部门公布的经办机构窗口提交申请材料;(二)市、县(市、区)人力资源社会保障部门公布的经办机构收到材料后当场作出审核决定,并向申请人反馈核定结果,并在业务系统内登记。

  • 历史霸王别姬典故

    项、刘二人终于被迫休战讲和,双方划定以咸阳的鸿沟为界限,东属楚地,西属汉地,各守疆界,彼此不再侵犯。项羽刘邦交换了文书,刘又要求项羽放回在战争中被楚军俘虏的父亲和妻子吕氏。项羽为人慷慨,立即放了这两个重要的人质,刘邦感激不尽。第二天,楚营号角声鸣,旌旗招展,项羽登台,点齐各路兵马,准备出战。项羽听此消息,进攻的决心更加坚定,立即带领大军快速向垓下进发。项羽急令寻找李左车,早已不见踪影。

  • 冻雨和雪有什么区别(冻雨是雪吗)

    冻雨和雪的区别主要是状态不同。冻雨的状态是晶莹透亮的薄冰,由冰水混合物组成,与温度低于0℃的物体碰撞立即冻结的降水,是一种常见的灾害性天气。而雪的状态在大气和地表上都呈固体状,是从混合云中降落到地面的雪花形态的固体水,由大量白色不透明的冰晶和其聚合物组成的降水。

  • 蛏子中间的黑色部分能吃吗(蛏子中间的黑色部分能不能吃)

    因为黑色的部分是蛏子的生殖腺,由于蛏子生活在沙子环境中,黑色部分里面也会有沙子,所以处理蛏子时一定要把它切掉,不然会影响口感及人体健康。蛏子的内脏主要是由蛋白质、胶质。几丁质组成的,而这些成分都是人体可以消化吸收的,也没有什么毒性,并且蛏子内脏中还含有人体所需的矿物质,所以是可以食用的,但是蛏子是海鲜,所以内脏中会含有泥沙和代谢物,吃之前需要去除干净,去除干净后即可食用内脏。

  • 昆明一日游攻略(昆明一日游攻略介绍)

    昆明一日游攻略首先要确定游玩的目的,比如说我们是以名胜风景区,还是以人文为主的。如果是冲着风景去的,可以去石林。距离市中心50公里,里面还有一些少数民族大的表演。晚上可以去客栈吃个过桥米线,这个吃起来还是不错的。然后可以去逛街看看民族服饰什么的,然后去新义坊吃饭。昆明的昼夜温差还是比较大的,出来玩的时候记得带好自己保暖的衣物。在昆明一天的话不太能玩过来,记得吃现烤的鲜花饼。

  • 金雀盆景怎么盘好看(金雀盆景有特色)

    金雀以独特的树姿得到盆景界人士的爱戴,甚是悦目。金雀花的属性为蝶形花科类的植物,锦鸡儿属性。当然植物不只是观花,再通过我们的造型过后植物的树姿也是具有不错的观赏性。整体的树形要有提根露爪,姿态古雅之感,便是这金雀盆景的整体感。金雀盆景便是如此,完成上盆和整姿的过程,并对植物进行日常的护理,一个古劲有力的金雀盆景就完成了。

  • 异地驾驶证注销吗(驾驶证在异地可以注销吗)

    同时,驾驶证名下不能有罚款未缴纳。根据公安部123号令第十四条已持有机动车驾驶证,申请增加准驾车型的,应当在本记分周期和申请前最近一个记分周期内没有记满12分记录。在暂住地可以申请增加的准驾车型为小型汽车、小型自动挡汽车、低速载货汽车、三轮汽车、普通三轮摩托车、普通二轮摩托车、轻便摩托车。

  • 老人与海中的海是什么海(老人与海中的海是加勒比海)

    老人与海中的海是什么海《老人与海》的海是指加勒比海,故事发生在古巴。《老人与海》故事的背景是在20世纪中叶的古巴。主人公是一位名叫圣地亚哥的老渔夫,配角是一个叫马诺林的小孩。经过两天两夜之后,他终于杀死大鱼,把它拴在船边。但许多鲨鱼立刻前来抢夺他的战利品。他一一地杀死它们,到最后只剩下一支折断的舵柄作为武器。结果,大鱼仍难逃被吃光的命运,最终,老人筋疲力尽地拖回一副鱼骨头。

  • 如何去除玻璃胶(如何把玻璃胶去除)

    使用客林环保性去油剂也可以有效去除瓷砖、玻璃物体上凝固的玻璃胶。