預設情況下gateway會根據註冊中心的服務列表,以註冊中心上微服務名為路徑建立動態路由進行**,從而實現動態路由的功能。
1、修改9527的yml
①需要注意的是uri的協議為lb,表示啟用gateway的負載均衡功能。②lb://servicename是spring cloud gateway在微服務中自動為我們建立的負載均衡uri
server
:port
:9527
spring::
name
: cloud-gateway
cloud
:gateway
:discovery
:locator
:enabled
:true
#開啟從註冊中心動態建立路由的功能,利用微服務名進行路由
routes:-
id: payment_routh #路由的id,沒有固定規則但要求唯一,建議配合服務名
#uri: http://localhost:8001 #匹配後提供服務的路由位址
uri: lb://cloud-payment-service
predicates
:- path=/payment/get/** #斷言,路徑相匹配的進行路由-id
: payment_routh2
#uri: http://localhost:8001 #匹配後提供服務的路由位址
uri: lb://cloud-payment-service
predicates
:- path=/payment/lb/** #斷言,路徑相匹配的進行路由
eureka
:instance
:hostname
: cloud-gateway-service
client
:service-url
:register-with-eureka
:true
fetch-registry
:true
defaultzone
:
2、測試
①啟動乙個eureka7001+兩個服務提供者8001/8002
②訪問http://localhost:9527/payment/lb
會發現8001和8002交替出現
Zuul忽略所有微服務,只路由指定的微服務
一 介紹 很多場景下,可能只想讓zuul 指定的微服務,此時可以將zuul.ignored services設為 二 配置舉例 ignored services 使用 可忽略所有微服務 routes microservice provider user user 這樣就讓zuul只路由micoser...
通過Springboot拆分服務構建微服務集
應用背景 1.基於spring boot開發 2.依賴activemq,kafka,redis,mongodb,mysql等開源軟體 3.內部服務伺服器,分布式計算平台服務,檢索服務,訊息推送服務等 拆分原因 1.原有的 應用模組之間高度耦合,各個模組都擔當了牽一髮而動全身的 角色 2.應用的配置資...
微服務消費端通過feign呼叫微服異常問題
在專案開發中,我們的呼叫方通過feign呼叫微服時,如果微服出現業務異常 例如空指標,或拋出自定義的異常 和非業務異常 引數不合法4xx異常 都會進入到呼叫方的全域性異常 丟擲的code全部轉換成了500,這樣不友好 實際上只有業務異常feign才會轉換成500錯誤且轉成feignexception...