Springcloud 系列之feign負載均衡

2021-10-23 20:05:19 字數 1928 閱讀 4548

feign是宣告性的web服務客戶端。它使編寫web服務客戶端更加容易。要使用feign,請建立乙個介面並對其進行注釋。它具有可插入的注釋支援,包括feign注釋和jax-rs注釋。feign還支援可插拔編碼器和解碼器。spring cloud新增了對spring mvc注釋的支援,並支援使用spring web中預設使用的同一httpmessageconverters。spring cloud整合了ribbon和eureka以在使用feign時提供負載平衡的http客戶端。

1、建立feign的微服務模組
在前兩篇部落格的基礎上,根據參考microservicecloud-consumer-dept-80,新建microservicecloud-consumer-dept-feign。

1、引入feign 的jar 包
org.springframework.cloud

spring-cloud-starter-feign

2、feign 的配置檔案
server:

enabled: ture #feign開啟hystrix,使其在api模組中的服務降級,統一處理熔斷

3、新建deptclientservice介面並新增@feignclient註解
//feign的面向介面程式設計,在註解的中指定服務提供者的名字

@feignclient

(value =

"study-springcloud-dept"

)public

inte***ce

deptclientservice

",method = requestmethod.get)

public deptentity findbyid

(long deptno)

;(value =

"/dept/findall"

,method = requestmethod.get)

public list findall()

;@feignclient

(value =

"study-springcloud-dept"

)}

4、修改feign服務中的controller層**
@restcontroller

public

class

deptconsumercontroller

("/consumer/dept/findbyid/"

)public deptentity findbyid

(long deptno)

("/consumer/dept/findall"

)public list findall()

}

5、修改feign的啟動類

@enableeurekaclient

/** * 在啟動該微服務式是能去載入我們定義的feign配置類

*/@enablefeignclients

(basepackages =

"com.msun.springcloud"

)@componentscan

("com.msunn.springcloud"

)public

class

}

Springcloud學習系列之Zuul的使用

zuul的作用是服務閘道器,使用者的請求先通過zuul,由zuul 至各服務。由此,zuul可以做很多任務作,如校驗,鑑權等。需要zuul註冊進eureka註冊中心 org.springframework.cloudgroupid spring cloud starter netflix zuula...

SpringCloud系列之zuul路由

zuul包含了對請求的路由和過濾兩個最主要的功能 其中路由功能負責將外部請求 到具體的微服務例項上,是實現外部訪問統一入口的基礎而過濾器功能則負責對請求的處理過程進行干預,是實現請求校驗 服務聚合等功能的基礎.zuul和eureka進行整合,將zuul自身註冊為eureka服務治理下的應用,同時從e...

Spring Cloud系列之閘道器 Zuul

pom.xml cloud demo cn.hao.learning 1.0 snapshot 4.0.0 gateway org.springframework.cloud spring cloud starter netflix zuul com.fasterxml.jackson.core j...