長(zhǎng)子營(yíng)網(wǎng)站建設(shè)產(chǎn)品優(yōu)化是什么意思
1. Feign 簡(jiǎn)介
Feign 是一個(gè)聲明式的 HTTP 客戶(hù)端,它的目的就是讓遠(yuǎn)程調(diào)用更加簡(jiǎn)單。Feign 提供了HTTP請(qǐng)
求的模板,通過(guò)編寫(xiě)簡(jiǎn)單的接口和插入注解,就可以定義好 HTTP 請(qǐng)求的參數(shù)、格式、地址等信
息。Feign 整合了 Ribbon(負(fù)載均衡)和 Hystrix(服務(wù)熔斷),可以讓我們不再需要顯式地使用這
兩個(gè)組件。
SpringCloudFeign 在 NetflixFeign 的基礎(chǔ)上擴(kuò)展了對(duì) SpringMVC 注解的支持,在其實(shí)現(xiàn)下,我們
只需創(chuàng)建一個(gè)接口并用注解的方式來(lái)配置它,即可完成對(duì)服務(wù)提供方的接口綁定。簡(jiǎn)化了
SpringCloudRibbon 自行封裝服務(wù)調(diào)用客戶(hù)端的開(kāi)發(fā)量。
原文鏈接:https://blog.csdn.net/m0_51111980/article/details/126672271
2.Feign使用
之前創(chuàng)建微服務(wù)模塊的時(shí)候就已經(jīng)引入了依賴(lài)jar
編寫(xiě)接口,告訴springcloud這個(gè)接口需要調(diào)用遠(yuǎn)程服務(wù)
這里以會(huì)員服務(wù)member想要調(diào)用優(yōu)惠卷服務(wù)coupon的/coupon/coupon/member/list接口為例,需
要在member服務(wù)中心編寫(xiě)一個(gè)接口。
首先在member模塊創(chuàng)建遠(yuǎn)程調(diào)用接口的存放包名,然后在包內(nèi)創(chuàng)建接口CouponFeignService,
在其中編寫(xiě)代碼?
@FeignClient("gulimall-coupon") gulimall-coupon是在nacos注冊(cè)的服務(wù)名
在啟動(dòng)類(lèi)上加上@EnableFeignClients
開(kāi)啟遠(yuǎn)程調(diào)用
在會(huì)員服務(wù)member的controller中寫(xiě)一個(gè)測(cè)試方法,調(diào)用遠(yuǎn)程接口
測(cè)試遠(yuǎn)程調(diào)用功能:
準(zhǔn)備啟動(dòng)兩個(gè)微服務(wù),結(jié)果會(huì)員微服務(wù)報(bào)錯(cuò)
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-
loadbalancer?
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc_北海道戀人的博客-CSDN博客
nested exception is java.lang.IllegalStateException: No Feign Client for loadBalancing defined._#晚來(lái)天欲雪的博客-CSDN博客
測(cè)試:
檢查發(fā)現(xiàn)是字母寫(xiě)錯(cuò)了,失誤
測(cè)試OK?
?