在分布式項目中,A調用B, B再調用A,或者A調B,B調用C,C再調用A,形成一個環路時,就會出現循環依賴的問題,
當啟動A服務時,需要B服務暴露的接口,找不到就會拋異常,B服務啟動時,需要同樣需要依賴A服務暴露的接口,也會拋異常。
所以我們經常在reference中配置check=false,這樣在服務啟動時就不會檢查實例是否已經實例化。
還可以從架構層面進行解決:
1:職責划分,把職責划分更加清晰,只允許A調B,或者B調A,不允許出現循環
2:可以使用中間間代替dubbo調用,A調用B,B異步推送數據到A
參考:https://www.cnblogs.com/sanshengshui/p/11839882.html
