耦合电路如何解耦,耦合电路处理方法

首页 > 生活 > 作者:YD1662024-11-14 20:27:05

如果微服务已经实施完成并出现了大量紧耦合的情况,那么我们就需要在后期考虑对微服务架构进行重构,具体重构的方法可以从如下几点考虑。

两个微服务本身紧耦合

耦合电路如何解耦,耦合电路处理方法(13)

如果两个微服务间出现大量接口相互调用,即可以认为紧耦合。

或者我原来的判断标准,即两个微服务对应的后台数据表,其中30%以上都需要两个微服务交叉访问,那么就认为两个微服务本身耦合性极强。

在这种情况下处理措施就是原来微服务划分的太细了,需要对两个微服务进行合并。

交叉依赖变为共性依赖

耦合电路如何解耦,耦合电路处理方法(14)

要知道在传统软件开发里面往往是不允许两个组件交叉依赖的。

但是在新的IOC和微服务开发里面,大量都是反射调用,两个组件相互依赖不会有问题。但是这本身也不是一种很好的设计方法。

如果两个微服务或多个微服务相互依赖内容本身具备共性。那么最好的做法就是将共性内容全部移出,下沉为一个共性基础微服务模块再朝上提供服务。

即交叉依赖转变为对底层的共性依赖。

对某个微服务实现单元进行迁移

耦合电路如何解耦,耦合电路处理方法(15)

为什么出现这种场景?

简单来说就是原来的微服务模块划分和业务功能划分不合理。比如上图中的微服务A中的A1部分。这个部分内容需要大量被微服务B调用,但是A1实际依赖微服务A中其它部分的内容却很少。

这种就是典型的A1部分功能划分位置不合理。

最好的做法就是将A1功能从微服务A迁移到微服务B,实现对原有业务划分不合理的纠正。

将细粒度服务转变为粗粒度服务

耦合电路如何解耦,耦合电路处理方法(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.