如果这是第二次看到我的文章,欢迎文末扫码订阅我的公众号(跨界架构师)哟~ >
本文长度为3012字,建议阅读8分钟。
坚持原创,每一篇都是用心之作~
下面的这个场景你可能会觉得很熟悉(Z哥我又要出演了):
Z哥:@All 兄弟姐妹们,这次我这边有个需求需要给「商品上架」增加一道审核,会影响到大家和我交互的接口。大家抽空配合改一下,明天一起更新个版本。
小Y:哥,我这几天很忙啊,昨天刚配合老王改过促销!
小X:行~当一切已成习惯。
作为被通知人,如果在你的现实工作中也发生了类似事件,我相信哪怕嘴上不说,心里也会有不少想法和抱怨:“md,改的是你,我也要发布,好冤啊!”。
这个问题的根本原因就是多个项目之间的耦合度过于严重。
越大型的项目越容易陷入到这个昭潭中,难以自拔。
而解决问题的方式就是进行更合理的分层,并且持续保证分层的合理性。
一提到分层,必然离不开6个字「高内聚」和「低耦合」。
什么是高内聚低耦合
在z哥之前的文章中有多次提到,分布式系统的本质就是「分治」和「冗余」。
其中,分治就是“分解 -> 治理 -> 归并”的三部曲。「高内聚」、「低耦合」的概念就来源于此。
需要注意的是,当你在做「分解」这个操作的时候,务必要关注每一次的「分解」是否满足一个最重要的条件:不同分支上的子问题,不能相互依赖,需要各自独立。
因为一旦包含了依赖关系,子问题和父问题之间就失去了可以被「归并」的意义。
比如,一个「问题Z」被分解成了两个子问题,「子问题A」和「子问题B」。但是,解问题A依赖于问题B的答案,解问题B又依赖于问题A的答案。这不就等于没有分解吗?
题外话:这里的“