<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Feign是一個宣告式的Web服務使用者端,讓編寫Web服務使用者端變得非常容易,只需建立一個介面並在介面上新增註解即可。
在學習Ribbon時,服務間呼叫使用的是RestTemplate+Ribbon實現,而Feign在此基礎上繼續進行了封裝,使服務間呼叫變得更加方便。
而OpenFeign可以理解為Feign的升級版。
OpenFeign應用在消費端,伺服器端不需要做任何改變
建立一個新的消費端cloud-consumer-feign-order80
,首先引入相關依賴,引入OpenFeign以後,可以看到OpenFeign內建了Ribbon,所以他底層實現負載均衡還是依賴於Ribbon
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>com.yellowstar.springcloud</groupId> <artifactId>cloud-api-commons</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
編寫組態檔
server.port=80 eureka.client.register-with-eureka=false eureka.client.service-url.defaultZone=http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
在啟動類上新增如下註解
@EnableFeignClients
對於OpenFeign來說,服務間的呼叫需要在消費端建立一個介面,這個介面類似於伺服器端
@Component @FeignClient(value = "CLOUD-PAYMENT-SERVICE") public interface PaymentFeignService { @GetMapping("/payment/get/{id}") CommonResult<Payment> getPayment(@PathVariable("id") int id); }
預設情況下,OpenFeign呼叫方法,會給該方法一秒鐘的執行時間,如果一秒鐘之後沒有執行完方法,則直接報錯。而OpenFeign底層呼叫的Ribbon,也就是說我們需要設定Ribbon服務間呼叫的等待時間
#指的是建立連線所用的時間,適用於網路狀況正常的情況下,兩端連線所用的時間 ribbon.ReadTimeout=5000l #指的是建立連線後從伺服器讀取到可用資源所用的時間 ribbon.ConnectTimeout=5000
如果不設定,會報一下錯誤
OpenFeign在呼叫http請求時,可以將請求的紀錄檔完整的列印出來,有以下幾種紀錄檔級別,預設是無紀錄檔。
首先需要對Feign的紀錄檔級別進行設定
@Configuration public class FeignConfig { @Bean Logger.Level feignLoggerLevel() { return Logger.Level.FULL; } }
新增組態檔
# feign紀錄檔以什麼級別監控哪個介面 logging.level.com.yellowstar.springcloud.service.PaymentFeignService=debug
接下來就可以觀察http請求的完整資訊了
到此這篇關於SpringCloud服務介面呼叫——OpenFeign的文章就介紹到這了,更多相關SpringCloud OpenFeign服務呼叫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45