记因循环依赖的解决方案

时间:2024-01-25 20:17:30

confusion.jpg

前言

循环依赖分为2类:

  • RPC服务间(dubbo、http)循环依赖
  • 应用间循环依赖
  1. Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,防止Spring初始化完成。这种情况我们就叫做RPC服务间循环依赖。出现了循环依赖,必须有一方先启动。所以这种问题是一定需要解决的。

  2. 应用间循环依赖大致情况如下: A应用调用B应用的服务,B应用也会调用A应用的服务,无论是间接调用还是直接调用。 这种循环依赖刚开始不会出现问题 ,但随着代码变更,有可能会发展为RPC服务间循环依赖。

可以通过check=”false”关闭检查来避免 Dubbo的循环依赖的报错,但是我认为这个只是权益之计。

应用间循环依赖

当前我们应用中并没有出现RPC服务间循环调用,但是出现了应用间循环调用。下面就是这个