美文网首页
按照易变性划分服务

按照易变性划分服务

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

识别应用中的“名词”或业务能力划分服务边界和识别应用中的“动词”或业务用例划分服务边界,都是按功能划分服务的方法。这种方法很有效,但是也存在一些弊端。按功能分解倾向于满足应用的当前需要,并不会明确考虑应用会如何演进。纯粹地按功能划分会导致服务在面对新的需求或者需求发生变化时不够灵活,进而增大修改的风险,最终限制系统未来的发展。

除了考虑系统的功能,还应该考虑应用未来可能发生的变化。这也被称为易变性将很可能变化的部分封装起来,有助于确保领域内的不确定性因素不会对其他领域产生消极影响。

SimpleBank公司的业务领域存在许多维度的易变性。比如,向市场下单是易变的:不同类型的订单需要提交到不同的市场中;SimpleBank为每个市场要调用不同的API(比如,通过第三方代理商交互或者直接与交易中心交互);随着SimpleBank提供的金融资产的范围扩大,这些市场也可能发生变化。

将与市场交互的功能作为服务的一部分会增加系统的耦合度,并极大提高系统的不稳定性。反之,我们可以将市场服务进行拆分,最终开发多个服务来满足不同市场的需要。

SimpleBank公司与不同的金融市场服务提供方之间的通信方式的变化封装在market服务内部,随着时间的推移,它可能变成多个不同的服务。

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

相关文章

  • 按照易变性划分服务

    识别应用中的“名词”或业务能力划分服务边界和识别应用中的“动词”或业务用例划分服务边界,都是按功能划分服务的方法。...

  • 运营按照职能划分

    内容运营 围绕着内容的生产和消费搭建起来一个良性循环(内容的采集、管理和呈现),持续提升各类跟内容相关的数据(内容...

  • 按照技术能力划分

    除了设计的服务反映了与业务能力紧密相关的操作和实体,也可以通过技术能力划分。一些常见的技术能力包括与第三方系统集成...

  • 商标小知识——商标种类

    商标是区别商品与服务来源的标志。按照不同的划分标准,商标可以划分为不同的类型,最常见的方法是将商标划分为商品商标、...

  • 完整springboot开发流程

    非微服务(springboot+mybatis plus)按照小功能模块划分 springboot主要类 全局异常...

  • Spring Cloud Sleuth服务链路追踪

    一、简介 微服务结构是一个分布式架构,微服务系统按照业务划分服务单元,一个微服务系统往往有很多个服务单元。由于服务...

  • 服务划分

    微服务列表 购物车 登录验证 产品 集群列表 web集群:ribbon客户端负载均衡,请求来自于硬件负载F5或者n...

  • mybatis设计3-模块(组件)开发

    按照领域划分 实体域是MapperProxy,该类是所有Mapper的代理实现。 服务域是 Configurati...

  • RocketMQ源码阅读附一TopicQueue的划分

    RocketMQ存储Topic消息时会按照TopicQueue进行划分. 如下图 首先按照BrokerName划分...

  • 测试分类

    视频《软件测试基础-概念篇》,学习笔记。 按照测试阶段划分 按照测试手段划分

网友评论

      本文标题:按照易变性划分服务

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