分布式系统关注点——「高内聚低耦合」详解

本文深入探讨了分布式系统中「高内聚低耦合」的重要性,阐述了其本质来源及意义。通过定职责、做归类、划边界的方法,提出如何在实践中实现高内聚低耦合,以降低维护成本和提高系统伸缩性。此外,还分享了最佳实践,如宽进严出的接口设计和按需获取数据策略。
摘要由CSDN通过智能技术生成

如果这是第二次看到我的文章,欢迎文末扫码订阅我的公众号(跨界架构师)哟~  >

本文长度为3012字,建议阅读8分钟。

坚持原创,每一篇都是用心之作~

 

下面的这个场景你可能会觉得很熟悉(Z哥我又要出演了):

 

Z哥:@All 兄弟姐妹们,这次我这边有个需求需要给「商品上架」增加一道审核,会影响到大家和我交互的接口。大家抽空配合改一下,明天一起更新个版本。

 

小Y:哥,我这几天很忙啊,昨天刚配合老王改过促销!

 

小X:行~当一切已成习惯。

 

作为被通知人,如果在你的现实工作中也发生了类似事件,我相信哪怕嘴上不说,心里也会有不少想法和抱怨:“md,改的是你,我也要发布,好冤啊!”。

 

 

这个问题的根本原因就是多个项目之间的耦合度过于严重。

 

越大型的项目越容易陷入到这个昭潭中,难以自拔。

 

而解决问题的方式就是进行更合理的分层,并且持续保证分层的合理性。

 

一提到分层,必然离不开6个字「高内聚」和「低耦合」。

 

 

什么是高内聚低耦合

在z哥之前的文章中有多次提到,布式系统的本质就是「分治」和「冗余」

 

其中,分治就是“分解 -> 治理 -> 归并”的三部曲。「高内聚」、「低耦合」的概念就来源于此。

 

需要注意的是,当你在做「分解」这个操作的时候,务必要关注每一次的「分解」是否满足一个最重要的条件:不同分支上的子问题,不能相互依赖,需要各自独立

 

因为一旦包含了依赖关系,子问题和父问题之间就失去了可以被「归并」的意义。

 

比如,一个「问题Z」被分解成了两个子问题,「子问题A」和「子问题B」。但是,解问题A依赖于问题B的答案&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值