记因循环依赖的解决方案
前言
循环依赖分为2类:
- RPC服务间(dubbo、http)循环依赖
- 应用间循环依赖
-
Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,防止Spring初始化完成。这种情况我们就叫做RPC服务间循环依赖。出现了循环依赖,必须有一方先启动。所以这种问题是一定需要解决的。
-
应用间循环依赖大致情况如下: A应用调用B应用的服务,B应用也会调用A应用的服务,无论是间接调用还是直接调用。 这种循环依赖刚开始不会出现问题 ,但随着代码变更,有可能会发展为RPC服务间循环依赖。
可以通过check=”false”关闭检查来避免 Dubbo的循环依赖的报错,但是我认为这个只是权益之计。
应用间循环依赖
当前我们应用中并没有出现RPC服务间循环调用,但是出现了应用间循环调用。下面就是这个