DRY原则与微服务的矛盾:共享复用会导致耦合 - AllenHolub

20-12-02 banq

DRY(不重复自己)原则不是法律,而是经验法则。例如,在微服务中,最重要的是能够更改单个服务并孤立地重新部署该单个服务。

如果使用共享库迫使您重新编译/重新部署多个服务,即使当前服务未使用刚更改的库的一角,则您违反了𝜇Service微服务原则。

因此,在微服务世界中,我们要么不使用共享库,要么使它们非常细粒度,达到单个(无服务器/ lambda)函数的水平。

同样,通过增加复杂性以换得“灵活性”或“重用”是合理的。我们在许多层面上的最大敌人是不必要的复杂性。

 

众说纷纭:

DRY的另外一面是耦合!

 

我看到的软件越多,发现不适当的耦合是更多的错误来源。

 

耦合是当今软件领域唯一的设计问题

服务依赖惹的祸:亚马逊云计算又双叒叕宕机了,一半互联网中断 -The Verge

banq注:DRY是不要重复,实际目的是为了追求复用,但是如果纯粹为了复用而复用肯定导致耦合,如果中台概念是为了复用,肯定导致耦合,复用/可重用性第一的思维已经落后。

              

1
猜你喜欢