SpringCouldGatway閘道器使用gateway閘道器對服務進行訪問沒有反應
阿新 • • 發佈:2020-12-12
技術標籤:spring cloudgateway閘道器java
使用gateway閘道器對服務進行訪問,沒有反應
1.先看註冊中心有有沒有此服務
2. 如果是使用yml檔案一定要注意格式
如果格式出現問題
格式所出現的地方會有背景顏色提示
只有格式正確,序列正確是不會出現背景顏色
如上圖,格式就是正確的
閘道器每個節點的作用一定要了解清楚
cloud:
gateway:
discovery: #是否與服務發現元件進行結合,通過 serviceId(必須設定成大寫) 轉發到具體的服務例項。預設為false,設為true便開啟通過服務中心的自動根據 serviceId 建立路由的功能。
locator: #路由訪問方式:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**,其中微服務應用名預設大寫訪問。
enabled: true
lower-case-service-id: true #使用小寫service-id
節點 discovery.locator.enabled作用
是否與服務發現元件進行結合,通過 serviceId(必須設定成大寫) 轉發到具體的服務例項。預設為false,設為true便開啟通過服務中心的自動根據 serviceId 建立路由的功能。
locator : #路由訪問方式:http://Gateway_HOST:Gateway_PORT/大寫的serviceId/**,其中微服務應用名預設大寫訪問。
enabled: true
lower-case-service-id: true 作用
使用小寫service-id
這樣配置以後可以通過在閘道器後面加服務名的方式訪問
例如:http://mall-gateway:8201/mall-admin/admin/login
還有routes路由節點
使用了routes節點就去掉discovery節點,兩者選一
routes:
- id: admin_route
uri : lb://mall-admin
predicates:
- Path=/admin/**
filters:
- RewritePath=/admin/(?<segment>.*),/$\{segment}
格式一定要對齊,路由id不能重複,uri中出現的服務名不能再出現path路徑中
如上圖,這樣是錯誤的
uri 是請求轉發的路徑
predicates是斷言 條件判斷 滿足條件才能進行路徑轉發
轉發路徑為 uri+path
**filters是過濾 可以把一些不需要的路徑去掉 **
如上圖 RewritePath 路徑重寫過濾 把admin過濾
官網版本:Gateway詳情功能點此處