SpringCloud專案呼叫Dubbo專案

2021-09-26 14:13:15 字數 921 閱讀 8933

專案結構:

其中,dubbo模組為dubbo服務提供方,包括服務介面和服務實現兩個子模組

該模組與普通dubbo服務提供方沒有變化

feigntodubbo-starter模組負責利用feign將底層的http協議轉化為dubbo協議,供springcloud專案使用。引入feigntodubbo-starter後會引入dubbo的依賴,使用註解dubborefence可以標註介面類為呼叫dubbo api的介面,同時 @dubboreference 的註解可以像dubbo的refence一樣指定介面的呼叫引數,@dubboreference 註解標註的介面類會執行http協議轉dubbo協議,之後的介面呼叫使用dubbo方式。

springcloud模組作為服務消費方,負責呼叫dubbo服務,例子如下:

// 指定dubbo介面的服務名

@feignclient

("dubbo-provider"

)// 配置dubbo介面的引數,比如version

@dubboreference

(version =

"1.0.0"

)public

inte***ce

helloservice

專案啟動時,先啟動dubbo服務提供方,再啟動springcloud服務消費方,並呼叫相應介面,即可實現聯通呼叫。

注意:feigntodubbo-starter 支援dubbo版本為2.7.3,service api的包名要跟dubbo provider中的包名一致。

springcloud專案discoveryserveraddress不能為空,註冊中心使用nacos

啟動springcloud專案遠端呼叫時的問題

問題描述 1 當在springcloud中使用resttemplate時當開啟 loadbalanced註解時 只能呼叫springcloud註冊中心的服務並且請求url不是是ip形式,只能是通過服務名在來呼叫。resttemplate使用 loadbalanced報錯 request uri do...

springCloud 不同專案互相呼叫介面

a專案 1.呼叫介面類 public static string defaultconnection string method,string path,int timeout,int readtimeout,string data throws exception catch exception ...

SpringCloud服務間呼叫

springcloud服務間的呼叫有兩種方式 resttemplate和feignclient。不管是什麼方式,他都是通過rest介面呼叫服務的http介面,引數和結果預設都是通過jackson序列化和反序列化。因為spring mvc的restcontroller定義的介面,返回的資料都是通過ja...