Feign簡介
Feign是一個聲明式的Web服務客戶端,使用Feign可使得Web服務客戶端的寫入更加方便。
它具有可插拔註釋支持,包括Feign註解和JAX-RS註解、Feign還支持可插拔編碼器和解碼器、Spring Cloud增加了對Spring MVC註釋的支持,並HttpMessageConverters在Spring Web中使用了默認使用的相同方式。Spring Cloud集成了Ribbon和Eureka,在使用Feign時提供負載平衡的http客戶端。
作用:可以解決不同服務器接口之間的相互調用,即跨域請求!feign結合eureka註冊中心,把不同的服務項目註冊到eureka中,通過feign客戶端進行調用,可以解決負載均衡問題,具體代碼事例如下:
1.註冊中心eureka(eureka-service)
pom.xml:
application.yml:
啓動類:
瀏覽器輸入:localhost:8761 界面如下:
創建一個生產者服務器:(eureka-client)
pom.xml:
application.yml:
啓動類:
啓動後瀏覽器輸入:
localhost:7073效果如下:
消費者服務:(eureka-client002):
pom.xml:
application.yml:
啓動類:
dao層接口:
cloud-client001 :生產者註冊名字
“/product” :生產者裏面的接口名
再增加一些service代碼(調用dao接口方法,這裏省略)
controller層:
啓動後輸入:laocalhost:7072/feigen/zhangsan00 效果如下:
負責均衡處理:
修改生產者代碼中application.yml代碼中的端口號7071
把controller中接口爲(“/product”)接口方法內容稍加改動,啓動該項目
在瀏覽器輸入:laocalhost:7072/feigen/zhangsan00 瀏覽器中顯示的內容一會是端口號7073中的內容 一會是7071中的內容,來回進行切換,實現負載均衡效果!