以下是兩種配置檔案的配置方式,可以根據需要選取對自己專案有利的配置。
zuul:
routes:
provider-user: /user/**
zuul.routes.provider-user.path=/user/**
這樣設定,provider-user微服務的訪問路徑就會被對映到/user/**路徑,例如正常訪問provider-user模組:localhost:8002/getuser 配置後需要訪問zuul服務(假設我的zuul服務埠為8004,實際看自己的zuul服務埠):localhost:8004/user/getuser
#多個微服務名稱用,分隔開zuul:
ignored-services: provider-user,consumer-movie
zuul.ignored-services=provider-user,consumer-movie
這樣就可讓zuul忽略provider-user和consumer-movie微服務,只**其他微服務
# 使用'*'可忽略所有微服務zuul:
ignored-services: '*'
routes:
provider-user: /user/**
zuul.ignored-services=*zuul.routes.provider-user=/user/**
讓zuul路由可以訪問provider-user微服務。
# 該配置方式中,provider-user只是給路由乙個名稱,可以任意起名。zuul:
routes:
provider-user:
service-id: provider-user
path: /user/** # service-id對應的路徑
zuul.routes.provider-user.serviceid=provider-userzuul.routes.provider-user.path=/user/**
與自定義訪問路徑一樣效用,微服務就會被對映到/user/**路徑。
# 該配置方式中,provider-user只是給路由乙個名稱,可以任意起名。zuul:
routes:
provider-user:
url: http://localhost:8002/ # 指定的url
path: /user/** # service-id對應的路徑
將/user/**
對映到http://localhost:8000/**路徑
使用這種方式配置的路由不會作為hystrixcommand執行,同時也不能使用ribbon來負載均衡多個url(下面的配置解決問題)
#在e版之後新增了負載均衡的配置。#配置中provider-user只是乙個路由名稱,可自定義名稱
zuul:
routes:
provider-user:
path: /user/**
service-id: provider-user
ribbon:
eureka:
enabled: false #禁止ribbon使用eureka
provider-user:
ribbon:
listofservers: localhost:8000,localhost:8001
#配置中provider-user只是路由名稱,可自定義zuul.routes.provider-user.path=/user/**
zuul.routes.provider-user.serviceid=provider-user
ribbon.eureka.enabled=false
provider-user.ribbon.listofservers=localhost:8002,localhost:8003
既指定path與url,又不破壞zuul的hystrix與ribbon特性,解決了上面的問題。
zuul:ignoredpatterns: /**/admin/** # 忽略所有包含/admin/的路徑
routes:
provider-user: /user/**
zuul.ignored-patterns=/**/admin/**zuul.routes.provider-user:/user/**
將microservice-provider-user微服務對映到/user/**路徑,但會忽略該微服務中所有包含/admin/的路徑.
配合prefix使用。
zuul:prefix: /api
strip-prefix: false
routes:
provider-user: /user/**
#prefix全域性配置字首 api
#strip-prefix:false 表示保留字首訪問(預設為true)
#示例如下
#strip-prefix:true : localhost:8004/api/user/getuser 自動轉到路徑 localhost:8002/user/getuser
#strip-prefix:false : localhost:8004/api/user/getuser 自動轉到路徑 localhost:8002/user/api/getuser
zuul.prefix=/apizuul.routes.provider-user.strip-prefix=false
zuul.routes.provider-user=/user/**
prefix全域性配置字首 api如無法掌握zuul路由的規律,可將com.netflix包的日誌級別設為debug。這樣,zuul就會列印**的具體細節,從而幫助我們更好地理解zuul的路由配置strip-prefix:false 表示保留字首訪問(預設為true)
示例如下
strip-prefix:true : localhost:8004/api/user/getuser 自動轉到路徑 localhost:8002/user/getuser
strip-prefix:false : localhost:8004/api/user/getuser 自動轉到路徑 localhost:8002/user/api/getuser
logging:level:
com.netflix: debug
logging.level.com.netflix=debug
文章**至:
SpringCloud 商城系統搭建之Zuul
spring cloud zuul路由是微服務架構的不可或缺的一部分,提供動態路由,監控,彈性,安全等的邊緣服務。zuul是netflix出品的乙個基於jvm路由和服務端的負載均衡器。本文是基於springcloud 系統搭建之eureka pom.xml 4.0.0 com.zzg superma...
springcloud筆記7 服務閘道器Zuul
zuul 主要提供了對請求的路由與過濾功能。1,建立springboot工程,匯入依賴 1.8 hoxton.release org.springframework.cloud spring cloud starter netflix eureka client org.springframewor...
springcloud教程之服務閘道器zuul基礎篇
springcloud教程之服務閘道器zuul基礎篇。為什麼需要api gateway 1 簡化客戶端呼叫複雜度 在微服務架構模式下後端服務的例項數一般是動態的,對於客戶端而言很難發現動態改變的服務例項的訪問位址資訊。因此在基於微服務的專案中為了簡化前端的呼叫邏輯,通常會引入api gateway作...