微服务建模:高内聚、低耦合与限界上下文

本文探讨了在服务设计中实现低耦合与高内聚的重要性,通过微服务架构,明确限界上下文并强调共享模型的策略,以促进系统灵活性和可维护性。同时指出过度分解系统的风险和正确的组织策略。
摘要由CSDN通过智能技术生成

好的服务要满足两个原则:低耦合与高内聚。

松耦合。如果做到了服务之间的松耦合,那么修改一个服务就不需要修改另一个服务。使用微服务最重要的一点是,能够独立修改及部署单个服务而不需要修改系统的其他部分。

高内聚。我们希望把相关的行为聚集在一起,把不相关的行为放在别处。因为如果你要改变某个行为的话,最好能够只在一个地方进行修改,然后就可以尽快地发布。

所以找到问题域的边界就可以确保相关的行为能放在一个地方,并且他们可以与其他边界以尽量松耦合的形式进行通信。

任何给定的领域都包含多个限界上下文,每个限界上下文中的东西分成两部分,一部分不需要与外部通信,另一部分则需要。每个上下文都有明确的接口,该接口决定了他会暴露哪些模型给其他的上下文。

限界上下文是一个由显式边界限定的特定职责。细胞之所以存在,是因为细胞膜定义了什么在细胞内,什么在细胞外,并且确定了什么物质可以通过细胞膜。

两个上下文之间可以有共享模型。应共享特定的模型,而不应该共享内部,就可以避免潜在的紧耦合。我们还识别出领域内的一些边界,边界内部是相关性比较高的一些业务功能,从而得到高内聚。模块边界成为绝佳的微服务候选。微服务应该清晰地和限界上下文保持一致,那么你就跨出了走向高内聚低耦合的微服务架构的第一步。

过早将一个系统划分成微服务的代价非常高,尤其是在面对新领域时。很多时候,将一个已有的代码库划分成微服务,要比从头开始构建微服务简单得多。当你在思考组织内的限界上下文时,不应该从共享数据的角度来考虑,而应该从这些上下文能提供的业务功能来考虑。

f3c7be0af403fe5c10389e890cfe19d3.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值