SpringCloud Zuul閘道器功能實現解析

2022-09-26 22:24:32 字數 2280 閱讀 8594

簡介

api gateway,時系統的唯一對外的入口,介於客戶端和服務端之間的中間層,處理非業務功能,

提供路由請求,鑑權,監控,快取,限流等功能

1.新增依賴

注意springboot和springcloud版本相容

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

org.springframework.cloud

spring-cloud-starter-netflix-zuul

com.alibaba

fastjson

1.2.28

2.新增啟動類註解@enablezuulproxy

import org.springframework.boot.springapplication;

import org.springframework.boot.autoconfigure.springbootapplication;

import org.springframework.cloud.程式設計客棧netflix.zuul.enablezuulproxy;

@springbootapplication

@enablezuulproxy

public class zuulgatewayapplication

}3.修改application.yml配置

預設訪問規則

#自定義路由對映

#order-servi程式設計客棧ce是訂單服務的名稱,訪問路徑為

#舊: http://localhost:9000/order-serice/api/v1/order/find

#新: http://localhost:9000/apigateway/order/api/v1/order/find

zuul:

routes:

#方法一:

# product-service: /apigateway/product/**

# order-service: /apigateway/order/**

#方法二:

product-route: #路由名稱,可以任意取

service-id: product-service

path: /apigateway/product/**

order-route:

service-id: order-service

path: /apigateway/order/**

#忽略整個服務,不對外提供介面

#多個服務用逗號隔開product-service,order-service

#即不能用http://localhost:9000/order-serice/api/v1/order/find方式訪問

# ignored-services: product-service

#正規表示式忽略多個服務

ignored-patterns: /*-service/**

sensitive-headers:

#zuul使用ribbon負載均衡,所以要配置ribbon超時時間,否則很短

host:

connect-timeout-millis: 15000 #http連線超時要比hystrix的大

socket-timeout-millis: 60000 #socket超時

ribbon:

readtimeout: 10000

connecttimeout: 10000

4.zuul閘道器注意事項

預設情況,請求頭header不會傳遞cookie,set-cookie,authorization資訊,這些資訊會顯示為空

如果需要傳遞,則修改application.yml配置

zuul: sensitive-headers:

5.訪問路徑

程式設計客棧eway/order/api/v1/order/test?product_id=1

圖1本文標題: springcloud zuul閘道器功能實現解析

本文位址:

springcloud zuul 路由配置

自定義微服務的訪問路徑 配置zuul.routes.指定微服務的serviceid 指定路徑即可。例如 zuul routes microservice provider user user 這樣設定,microservice provider user微服務就會被對映到 user 路徑。忽略指定微...

Spring Cloud zuul 負載均衡

eureka的pom檔案 org.springframework.cloud spring cloud starter eureka server org.springframework.boot spring boot starter security org.springframework.bo...

Spring Cloud Zuul許可權整合

由於zuul對請求 全程的可控性,我們可以在 requestcontext的基礎上做任何事情,設定乙個執行順序靠前的filter,就可專門 用於對請求特定內容做許可權認證。這種方式的優點是實現靈活度高,可整合已有許可權 系統,對原始系統微服務化特別友好 缺點是需要開發 一套新的邏輯,維護增加成本,而...