專案結構:
其中,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...