SpringCloud之試探踩坑

2021-09-12 03:39:01 字數 1568 閱讀 6794

一直rpc呼叫都是使用dubbo介面,近來微服務比較火?開始使用springcloud的介面,使用@feignclient的呼叫方式。

註冊中心eureka,用於服務註冊和發現。介面呼叫的實質就是restful介面,通過spring內部封裝的httpclient方式請求呼叫。  資料傳遞使用json格式,所以提供方和呼叫方的實體引數只要保證欄位名稱和型別相同即可。     

服務提供方,api介面(web controller抽象),引數要使用引數註解@requestparam,@requestbody;要指定請求的型別get,post等;服務的實現就是@controller的介面,要implements api介面。

服務呼叫方的呼叫方式有三種:

1. 在啟動類的註解上標記提供方的package名稱,支援配置多個提供方,如下,就可以直接呼叫介面了

@enablefeignclients(basepackages = )
2. 在呼叫方新建介面,extends api介面,並標記為feign介面,如下,name和path與提供方一致

@feignclient(name = "yx-test-business", path = "/business/config")

public inte***ce businessconfigapi extends businessconfigrest

3. 在呼叫方copy提供方api**,因為前面說過,使用json格式傳遞,只要保證字段一致即不影響

@feignclient(name = "yx-product-test", path = "/api/product")

public inte***ce baseproductapirepo

1. 服務提供方介面

@feignclient(name = "yx-test-business", path = "/business/config")

public inte***ce businessconfigrest

2. 服務提供實現

@restcontroller

@slf4j

public class businessconfigcontroller extends abstractbasecontroller implements businessconfigrest

3. 呼叫方使用如開始提到的【二、理論  3. 服務呼叫方的呼叫方式有三種】

需要注意的是:

1. 啟動類要加如下註解

@enablediscoveryclient

@enablefeignclients

2. 要配置註冊中心eureka【深入學習後再總結】

3. 三種呼叫方式其實都是在解決乙個問題,介面的@autowired

四、總結

使用下來,你會發現,所謂的feign介面,本質上就是http呼叫,只不過是把以往web層形式的介面,用在了api層,並且封裝了httpclient方法,不用自己去呼叫,而通過配置約定的@feign註解的方式實現呼叫。

程式設計演算法之試探法

試探法也稱為回溯法,它是一種系統的搜尋問題解的方法,該演算法設計思想適用範圍相當廣發,例如 棋手思考下一步走 就是採用試探法。常見的彩票組合號碼都是由一些數字組成的,生產彩票號碼其實就是將所有數字進行不同的組合。程式設計演算法之試探法.cpp 定義控制台應用程式的入口點。include stdafx...

SpringCloud之Dashboard 流監控

新建springcloud consumer hystrix dashboard模組 新增依賴 org.springframework.cloudgroupid spring cloud starter hystrixartifactid 1.4.6.releaseversion dependenc...

SpringCloud之Hystrix應用實踐

使用springcloud的hystrix功能,有幾種方式 1 單應用監聽,也可以用於測試 引用包 org.springframework.boot spring boot starter actuator org.springframework.cloud spring cloud starter...